Waldur Documentation
| Description | Documentation of an open-source marketplace platform Waldur. See the latest version at https://docs.waldur.com |
| Copyright | Copyright © 2016 - 2025 Waldur team |
Table of Contents
About ↵
Getting started
Installing Waldur is a simple and straightforward process.
Pick method of installation
There are 2 supported methods:
- Using Docker Compose. Fastest but runs on a single server.
- Using Helm. For deploying on Kubernetes clusters.
Configure Waldur
Tune Waldur configuration to match your deployment. Majority of the configuration is done on Mastermind side. Exact method of configuration depends on the chosen method of installation. Settings are grouped by modules, you can see all available ones in the configuration guide.
The most typical aspects for configuration are:
- Configuring identity providers. Waldur supports a range of OIDC and SAML based IdPs.
- Adding offerings for sharing among Waldur users.
Tip
For easier management of Waldur deployments and configuration we provide Ansible playbooks.
Profit
You are done! If you are happy and want to support the project, make sure you check the support page.
Danger
Before going to production, make sure you have completed the go-live checklist.
Contributing
Waldur is an open project welcoming contributions. To assure the smooth acceptance of contributions please review the contribution guidelines below.
Pull requests
We welcome contributions (patches, new features, translations, etc) through pull requests. Please make sure that the following is addressed when making a pull request:
- a request has a clear scope - new feature, bugfix, refactoring. Granular pull requests make integration much faster;
- the code is following code conventions of the corresponding platform and linters / tests are passing;
Localisation
If you see a term, which needs to be translated better, please submit a fix via Localazy.
License
All contributions to Waldur can be accepted only you agree to license your contribution under the MIT license. Please make sure that you have the right to sign off code as MIT.
Code repositories
| Repository | Description |
|---|---|
| HomePort | Code of Waldur Homeport web interface |
| MasterMind | Code of Waldur Mastermind orchestrator |
| Helm package | Helm packaging of Waldur for Kubernetes |
| Docker-compose | Docker-compose packaging of Waldur |
| Ansible module | Ansible module for Waldur APIs |
Data processing disclaimer
Waldur developers would like to inform that we do not assume any responsibility for processing data generated or handled by the software.
Users (e.g platform operators, platform users) are solely responsible for ensuring that the data processed through our software complies with applicable laws, regulations, and industry standards. Waldur developers disclaim any liability for loss, damage, or unauthorized access to data from our software.
Our role is limited to the development of software solution. We do not control, manage, or take responsibility for our software processes' specific deployments and data, including but not limited to data storage, transmission, or any associated security measures.
Users are encouraged to implement data protection and security measures to secure their information. By using Waldur software, users acknowledge and agree that Waldur developers are not liable for any issues related to data processing.
Some highlights to keep in mind regarding user data processing in Waldur
- Platform operator should have a DPA (Data Processing Agreement) with every Service Provider connected to the platform because, in case of a service request from a Service Provider, the latter gets the ability to see members of the project whereas service is to be provisioned. For example, an HPC service gets access to project member information only when the project is requesting access to the service. The access is revoked once the service is terminated.
- Staff users (usually platform operators) can see all users personal information.
- User profile modifications are logged, including modifier network address and changes for auditing and tracing abilities. Additionally, operations connected with the user, e.g. adding or removing SSH key, are also logged.
- The authentication system is designed around the federated AAI solution, where a user is expected to conform explicitly to personal data propagation from the Identity Provider (IdP) to Waldur.
- In cases when policy allows, it is possible to create a non-personalized group or robot account to act on behalf of the user, e.g. for CICD types of workflows.
- All event logs contain references to a user - by UUID - if they are connected with the user. This allows the platform operator to have an easy information cleanup for user data according to specific deployment policies (e.g. removing data of deactivated users after two years) and to disclose user data easily collected about them.
Some suggestions to ensure that the data is securely protected
- Waldur is pretty configurable, this means that the Waldur deployment operator can configure user profiles in a way that the information requested about the users is as minimal as possible.
- User information is visible to all project members, so make sure that you include only these users in the project, who are allowed to see each other's information. In addition to that, organization managers can see the user information about users connected to that organization.
Governance
Waldur is a project co-developed by OpenNode and University of Tartu with contributions from different organizations. To make sure that the project is delivering a sound product, OpenNode maintains control over the authoritative source code and covers Product owner and Architect roles (see below).
Waldur and all of its components are released under MIT license to be as friendly towards ecosystem as possible.
Overview of the development process
Waldur team tries to maintain a transparent process of development. In a team, each person can have one or more of the roles below.
Roles
- Project manager - collects and provides requirements for a particular Waldur-based project. Multiple people can have this role.
- Product owner - analysis requirements from project managers and fits into a product roadmap. Maintains technical feature list. Single person at a time can have this role.
- Architect - oversees Waldur platform development, including backend, frontend, external tools. Has a final word on the way how components are integrated. Single person at a time can have this role.
- Developer - responsible for fulfilling tasks created. Multiple people can have this role.
Workflow
- Project manager communicates with customers, defines requirements for product owner.
- Product owner analyses requirements from all projects and creates epics for technical features implementation. Epics are assigned to the architect.
- Architect defines general development plan for features from product owner, adds description to the epic and creates separate tasks or stories for component owners.
- Developers process tasks.
- Product owner releases tagged versions of the product once a certain amount of functionality or bugfixes went in.
Academic publications
- 2024 - Federated Single Sign-On and Zero Trust Co-design for AI and HPC Digital Research Infrastructures, S. R. Alam et al., SC24-W: Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis, Atlanta, GA, USA, 2024, pp. 1756-1764, doi: 10.1109/SCW63240.2024.00220.
- 2024 - Isambard-AI: a leadership class supercomputer optimised specifically for Artificial Intelligence, Simon McIntosh-Smith, Sadaf R Alam and Christopher Woods, https://doi.org/10.48550/arXiv.2410.11199
- 2024 - Developing Prototype Digital Twins for biodiversity conservation and management: achievements, challenges and perspectives, Lecarpentier, Damien, et al. "Developing Prototype Digital Twins for biodiversity conservation and management: achievements, challenges and perspectives." Research Ideas and Outcomes 10 (2024): e133474.
- 2024 - Deploying open-source SIEM system for Waldur-based services at the University of Tartu, Mark Borissov, Master Thesis
- 2022 - Evaluating SSH for Modern Deployments, Thomas Thaulow Stöcklin, Bachelor Thesis
- 2022 - Testing Estonian Scientific Computing Infrastructure Self-Service in Cypress Framework, Janeli Õun, Master Thesis
- 2021 - A Modern CI/CD Pipeline for Cloud Native Applications, Sergei Zaiaev, Master Thesis
- 2018 - Automated provisioning of data analytics platforms in the Estonian Scientific Computing Infrastructure, Stanislav Nazmutdinov, Master Thesis
Reporting issues
No software is perfect, and issues are to be expected. If you observe something that you think needs fixing, please provide a detailed issue report using the guidelines below.
Where to report issues
Choose the appropriate channel to report your issue:
- Internal issue management (Atlassian JIRA)
- If you have access to the internal issue management system, please report the issue through Atlassian JIRA
- Use the appropriate project for the component experiencing the issue
-
Follow your organization's internal guidelines for issue categorization
-
GitHub Issues
- If you don't have access to internal issue management, report issues on GitHub
- Visit the appropriate repository under the Waldur organization
- Select the repository that corresponds to the component with the issue (e.g., HomePort, MasterMind)
- Create a new issue using the provided templates when available
Not sure which component has the issue?
If you're uncertain whether the issue is with HomePort or MasterMind, please provide:
-
Description of the problem
- What you were trying to do
- What happened instead
- Any error messages you saw
-
Screenshots of the error at high resolution
- Include the entire screen if possible to provide context
- Ensure text is legible
-
Basic environment information
- Browser type and version (if applicable)
- URL where the issue occurred
- Time and date when you encountered the issue
- Waldur version (if known)
This information will help us determine which component is affected and guide you on additional details we might need.
Required information for all issues
The following information is helpful for troubleshooting any issue:
-
Environment details
- Waldur instance hostname
- Deployment type (select one):
- Docker-compose
- Helm
- ArgoCD
-
Affected URL(s)
- Include the exact page where the issue occurs
-
User-specific details (if applicable)
- User roles in different scopes (project, organization, call, offering, etc.)
- Whether user has global role (staff or support)
- If reproducible in test environment, provide the specific username
-
Details of affected Waldur objects
- Customer name
- Project name
- Resource name
- Any other relevant identifiers
Homeport-specific issues
When reporting issues specifically with HomePort, please also include:
- HAR request file that has failed or contains data required for rendering
Mastermind-specific issues
When reporting issues specifically with MasterMind, please also include:
- Logs
- Include the latest MasterMind stdout logs with the error stacktrace
- For different deployment types, retrieve logs using:
- Docker-compose: View logging instructions
- Helm: View debugging instructions
Warning
Logs may contain sensitive data. Please ensure you either clean up the data or share it only with trusted parties before submitting.
Best practices for issue reports
- Be specific about the steps to reproduce the issue
- Mention which browser and version you're using (for frontend issues)
- Include timing information (when did it start occurring, is it intermittent, etc.)
- Note any recent changes that might be related to the issue
- Provide as much context as possible to help with troubleshooting
- If possible, indicate if the issue can be consistently reproduced or occurs randomly
Screenshots
Desktop view
Login page
Organization dashboard
Project dashboard
Provider reporting and support dashboard
Call management dashboard
Marketplace
Admin dashboard
Mobile view
Login page
Organization dashboard
Project dashboard
Provider reporting and support dashboard
Marketplace
Admin dashboard
Support
Waldur is an open-source project co-developed by OpenNode and University of Tartu.
Support and sponsored development
OpenNode provides several options for support with varying SLAs.
If you would like to know more, reach out!
Managed hosting for academical institutions
Please reach out to support@hpc.ut.ee if you represent an R&D organization and interested in managed Waldur hosting.
Modules ↵
Call management
Overview
Call management in Waldur enables organizations to manage resource allocation through a structured application proposals and review process. This feature is particularly useful for research institutions, funding agencies, and organizations that need to allocate computational or infrastructure resources through a competitive process.
Introduction
Call management in Waldur is built around structured components: calls, rounds, proposals, and reviews. A call is a defined period during which resources can be allocated. Each call is divided into rounds, where stakeholders can submit and review proposals for resource allocation. Proposals are evaluated through a structured review process. Successful proposals lead to approved allocations, seamlessly integrating into the rest of the Waldur ecosystem. When a proposal is approved, Waldur automatically creates a project under the proposing organization that initiated the call. Allocations are granted to this project, and team members who submitted the proposal are added to the project, ensuring the resources are immediately ready for use.
Stakeholder roles
Different user roles have specific responsibilities within the Call management system:
| Role | Assigned by | Primary responsibilities | Access level |
|---|---|---|---|
| Organization owner | Staff |
|
Full access to all calls and organizational data |
| Call organiser | Organization owner |
|
Access to calls they create and oversee |
| Call manager | Call organiser |
|
Detailed access to calls they are assigned to |
| Reviewer | Call manager |
|
Access limited to assigned proposals |
| Call Member/Applicant | Self-registration |
|
Access to own proposals and public call information |
| Service Provider | Staff |
|
Access to offering requests |
Workflow overview
The call management process follows a sequential workflow:
- Preparation: Organization setup and role assignment (Organization owner → Call organiser → Call manager)
- Call setup: Creation of call framework by Call organiser and detailed configuration by Call Manager
- Resource preparation: Request and confirmation of offerings from service providers
- Submission period: Opening call for proposal submissions
- Evaluation: Review and assessment of submitted proposals
- Decision: Acceptance or rejection of proposals
- Allocation: Automatic provisioning of resources for approved proposals
- Monitoring: Oversight of active allocations and reporting
flowchart TD
%% Styling
classDef orgOwner fill:#e1f5fe,stroke:#0277bd,stroke-width:2px,color:#000
classDef callOrg fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px,color:#000
classDef callMgr fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px,color:#000
classDef reviewer fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,color:#000
classDef applicant fill:#fce4ec,stroke:#c2185b,stroke-width:2px,color:#000
classDef provider fill:#f1f8e9,stroke:#558b2f,stroke-width:2px,color:#000
classDef system fill:#f5f5f5,stroke:#616161,stroke-width:2px,color:#000
classDef decision fill:#fff8e1,stroke:#f57f17,stroke-width:2px,color:#000
%% Row 1: Stakeholders (Horizontal)
subgraph stakeholders["👥 Key Stakeholders"]
direction LR
R1["👤 Organization Owner<br/> Organization setup & Role assignment"] --> R2["📋 Call organiser<br/>Create & Oversee calls"]
R2 --> R3["⚙️ Call manager<br/>Configure & Manage"]
R3 --> R4["🔍 Reviewer<br/>Evaluate proposals"]
R4 --> R5["📝 Applicant<br/>Submit proposals"]
R5 --> R6["✅ Service provider<br/>Approve resources"]
end
%% Row 2: Setup to Submission (Horizontal)
subgraph setup["🏗️ Setup & Submission phase"]
direction LR
A[📋 Call organiser<br/>Create Call] --> B[👨💼 Assign<br/>Call Manager]
B --> C[⚙️ Configure Round<br/>& Settings]
C --> D[📋 Request<br/>Offerings]
D --> E[✅ Provider<br/>Approve Resources]
E --> F[🚀 Activate<br/>Call]
F --> G[📝 Applicants<br/>Submit Proposals]
end
%% Row 3: Review to Completion (Horizontal)
subgraph review["🔍 Review & Allocation Phase"]
direction LR
H{Review<br/>Assignment} -->|Auto| I[🤖 Auto-assign<br/>Reviews]
H -->|Manual| J[👨💼 Manual<br/>Assignment]
I --> K[🔍 Reviewers<br/>Evaluate]
J --> K
K --> L{Final<br/>Decision}
L -->|Manager| M[👨💼 Accept/<br/>Reject]
L -->|Auto| N[🤖 Auto-approve<br/>if Score ≥ Threshold]
M --> O{Approved?}
N --> O
O -->|Yes| P[🏗️ Create Project &<br/>Allocate Resources]
O -->|No| Q[❌ Notify<br/>Rejection]
P --> S[📊 Monitor &<br/>Report]
Q --> S
end
%% Connections between rows
stakeholders -.-> A
G --> H
%% Apply styles
class R1,A orgOwner
class R2,B callOrg
class R3,C,F,J,M callMgr
class R4,K reviewer
class R5,G applicant
class R6,E provider
class I,N,P system
class H,L,O decisionMarketplace concept
Overview
The Waldur Marketplace serves as a centralized platform for requesting, provisioning, and managing resources from various service providers. This guide explains key concepts and workflows in the Marketplace to help you effectively navigate and utilize its features.
Core concepts
Marketplace framework
The Marketplace operates through four integrated modules:
-
Structure module: Establishes organizational hierarchy through Organizations and Projects, with access controls enforced at the project level.
-
Service catalogue module: Enables Service providers to configure Offerings with pricing models (Plans), resource components, and customized request forms.
-
Provisioning module: Manages the complete resource lifecycle from order placement to resource creation, usage tracking, and termination.
-
Billing module: Handles financial tracking, invoicing, and cost management for resources provisioned through the Marketplace.
Key components
- User: An individual who accesses the Waldur system with specific permissions within one or more organizations.
- Organization: A business entity that can act as a customer, a service provider, or both within the Waldur system.
- Project: A logical container for resources that belongs to an organization, with its own access control settings.
- Project member: A user who has been assigned specific permissions within a project.
- Service provider: An organization authorized to publish and deliver services through Waldur.
- Marketplace plugin: A software component that integrates a specific backend system (like OpenStack or SLURM) with the Waldur Marketplace.
- Order: A formal request for resource provisioning submitted by a user.
- Resource: The provisioned service instance that results from a fulfilled order.
- Offering: A specific service available for provisioning (e.g., virtual machines, HPC compute time).
- Plan: A pricing and resource allocation model for an offering.
- Plugin registry: A central repository that maintains information about available backend services and their connection details.
- Invoice: A financial document detailing resource usage costs for an organization.
- Invoice Item: An individual billing entry for a specific resource's consumption.
Architectural framework
flowchart TD
%% Structure module
subgraph Structure[Structure module]
Org[Organization]
User[User]
Proj[Project]
ProjMember[Project member]
ServiceProvider[Service provider]
end
%% Service catalogue module
subgraph Catalog[Service catalogue module]
Offering[Offering]
Plan[Plan]
PluginReg[Plugin registry]
end
%% Provisioning module
subgraph Provisioning[Provisioning module]
Order[Order]
Resource[Resource]
MarketplacePlugin[Marketplace plugin]
end
%% Billing module
subgraph Billing[Billing module]
Invoice[Invoice]
InvoiceItem[Invoice item]
end
%% Key Relationships
Org -- has --> Proj
Org -- becomes --> ServiceProvider
User -- belongs to --> Proj
User -- creates --> ProjMember
ServiceProvider -- provides --> Offering
Offering -- connects to --> PluginReg
Offering -- defines --> Plan
ProjMember -- submits --> Order
Order -- approved by --> ServiceProvider
Order -- creates --> Resource
MarketplacePlugin -- processes --> Resource
Resource -- generates --> InvoiceItem
InvoiceItem -- belongs to --> Invoice
Invoice -- billed to --> Org
Resource -- instantiated from --> Offering
Proj -- contains --> Resource
classDef structureModule fill:#5BAD60,stroke:#333,stroke-width:1px
classDef catalogModule fill:#5BAD60,stroke:#333,stroke-width:1px
classDef provisioningModule fill:#5BAD60,stroke:#333,stroke-width:1px
classDef billingModule fill:#5BAD60,stroke:#333,stroke-width:1px
class Org,User,Proj,ProjMember,ServiceProvider structureModule
class Offering,Plan,PluginReg catalogModule
class Order,Resource,MarketplacePlugin provisioningModule
class Invoice,InvoiceItem billingModule
Offering requirements
For an offering to appear in the Marketplace, it must include:
- Category assignment: Determines the offering's location in the Marketplace browsing hierarchy.
- Basic information: Name, description, plugin type, and service settings.
- Plan configuration: At least one plan defining resource limits and pricing structure.
- Component definitions: Specific resources being measured or billed.
- Visibility settings: Configuring which customers or projects can access the offering.
- Optional attributes: Custom parameters that users must provide when ordering.
Supported integration plugins
The Marketplace supports various backend systems through dedicated plugins. Here are examples of commonly used plugins:
- OpenStack plugin: Provisions virtual infrastructure including VMs, storage volumes, networks, and IP addresses.
- SLURM plugin: Facilitates access to HPC cluster resources with consumption typically measured in CPU or GPU hours.
These are just examples of the available integrations. Waldur's plugin architecture allows for connecting to a wide range of service backends. Each plugin has specific configuration requirements detailed in its dedicated documentation section.
Service providers can leverage these existing plugins or develop custom integrations to make their specific services available through the Marketplace.
Resource lifecycle
Resources in the Marketplace follow a defined lifecycle:
- Publication: Service Provider creates and publishes an offering with associated plans.
- Order placement: User selects an offering, chooses a plan, and submits an order within a project context.
- Approval process: Orders may require authorization by project or customer owners based on configured policies.
- Provisioning: Upon approval, the system automatically provisions the requested resource via the appropriate plugin.
- Usage monitoring: The system tracks resource consumption for accounting and reporting purposes.
- Management operations: Users can perform lifecycle operations (update, pause, terminate) as permitted by the plugin and their access rights.
Next steps
To learn more about specific offerings or how to perform common tasks in the Marketplace, refer to the following guides:
Usage examples
Here are some common scenarios to help you understand how to use the Marketplace effectively:
Requesting a Virtual Machine
- Navigate to the Marketplace
- Filter offerings by the "Virtual Machines" category
- Select the OpenStack offering from your preferred provider
- Choose the plan that matches your requirements (e.g., "Small VM" with 2 vCPUs, 4GB RAM)
- Fill in required parameters (name, SSH key, etc.)
- Submit your order
- Once approved, your VM will be provisioned and appear in your project's resources
Managing HPC allocation
- Access your project dashboard
- Select the SLURM allocation from your resources list
- View current usage statistics for CPU hours and storage
- If needed, request an extension through the "Modify Resource" option
- Submit jobs through the provided access methods
Cost optimization
Monitor your resource usage regularly through the dashboard to avoid unexpected charges. For VM resources, remember to shut down instances when not in use, as many providers charge based on uptime regardless of actual CPU utilization.
Approval workflows
Some offerings may require approval from your organization owner or the service provider before provisioning begins. You can check the status of your order in the Orders section of your project dashboard.
Ended: Modules
Terminology ↵
Glossary
| Name | Description | Examples |
|---|---|---|
| Organization | Legal representation of the entity that can be a client of the Operator. | Ministry A, Department B |
| Project | Functionality in Self-Service Portal, which allows to group internal resources into projects, which allows to limit access to resources for people. | Internal systems, Public web |
| Service Provider | Organization can publish offerings in marketplace as soon as it is registered as service provider. | ETAIS, UT HPCC |
| Offering | Service Offering from Service Provider, which can be requested via a Marketplace. Correspond to an entry in the Service Catalogue. | VPS with LB, VDC in DataCenter 1 |
| Category | A grouping of the Offerings defining metadata common to all offerings in this Category. | Compute, Storage, Operations |
| Section | Section is a named aggregate of offering attributes. | System information, Support, Security |
| Attribute | Attribute is an atomic piece of offering metadata, it has name, type and list of options. | Peak TFlop/s, Memory per node (GB) |
| Plan | An option for paying for a particular Offering. There can be multiple options but at each point in time only one Plan can be active. | Small private cloud, Big private cloud |
| Order | A collection of Order items. Considered as done when all Order Items have been processed. | 3 different Offerings with configuration. |
| Order Item | Connects Offering with concrete Organization and configuration settings. | Small VPC with name “test” |
| Resource | Created as part of fulfilling the Order Item. Represents part of the Offering that customer Organization can use. | VM, VPC |
| Category component | Specifies unit of measurement, display name and internal name of the component, which should be present in every category offerings. It is used for aggregating offering component usage and rendering dashboard charts in both project and organization workspace. | vCPU, RAM, storage |
| Offering component | Usage-based component that constitute offering. It may refer to the category component via parent field in order to ensure that component usage is aggregated. | Database count, disk usage |
| Plan Component | Components that constitute a plan. | vCPU, RAM, storage, network bandwidth |
| Component usage | Collects reported resource usage for each plan component separately. | 5 virtual floating IPs for the last month. |
Roles and permissions
Users, Organizations and Projects
Waldur is a service for sharing resources across projects. It is based on the delegation model where an organization can allocate certain users to perform technical or non-technical actions in the projects.
The most common types of Waldur installations include:
- Cloud - used in commercial or government sectors for providing access to cloud resources like virtual machines, storage and Kubernetes clusters.
- Academic - used in research and education. Waldur is deployed for a single university, high school or research infrastructure.
- Academic Shared - the same purpose as Academic, but is shared among several universities or infrastructures.
User
An account in Waldur belonging to a person or a robot. A user can have roles in Organizations and Projects. Some users - mostly affiliated with Waldur operator - can have global roles, e.g. support or staff.
Organization
A company or a department. Organization can be a customer, a service provider or both.
A faculty, department or an institute. Organization can be also a service provider, for example, an HPC center.
In Academic Shared model, all organizations are service providers allocating resources to their users (research groups or classes) through their Projects.
Project
A project within an Organization. Used for organizing and isolating Resources and Users.
Service Provider
Organization that provides services to other organizations.
User types
| User | Support agent | Staff | |
|---|---|---|---|
| Web and API access | |||
| Can create support requests | |||
| Can provide user support | |||
| Can see all projects and resources | |||
| Can manage organizations | |||
| Can access admin area |
User roles in Organization
| Owner | Service Manager | Project Manager | System Administrator | |
|---|---|---|---|---|
| Manage Team | (pre-approved users) | |||
| Manage Projects | ||||
| Request and Manage Resources | ||||
| Approves creation of Resource Requests (Orders) | (configurable) | |||
| Approves Resource Requests (Orders) | ||||
| Manage Offerings (Service provider-specific) |
| PI | Service Manager | co-PI | Member | |
|---|---|---|---|---|
| Manage Team | (pre-approved users) | |||
| Manage Projects | ||||
| Request and Manage Resources | ||||
| Approves creation of Resource Requests (Orders) | (configurable) | |||
| Approves Resource Requests (Orders) | ||||
| Manage Offerings (Service provider-specific) |
| Resource allocator | Service Manager | PI | co-PI | Member | |
|---|---|---|---|---|---|
| Manage Team | (pre-approved users) | ||||
| Manage Projects | |||||
| Request and Manage Resources | |||||
| Approves creation of Resource Requests (Orders) | (configurable) | ||||
| Approves Resource Requests (Orders) | |||||
| Manage Offerings (Service provider-specific) |
User roles in Call management
| Role name | Scope | Description |
|---|---|---|
| Organization owner | Customer | Has full administrative access to manage organizations, offerings, orders, resources, projects, and call-related permissions. |
| Call organiser | Call organizer | Manages calls at the organization level, similar to Call manager but restricted to a specific customer scope. |
| Call manager | Call | Oversees the entire call process, including managing proposals, approving/rejecting applications, closing rounds, and handling permissions. |
| Call reviewer | Call | Reviews and evaluates submitted proposals within a call. |
| Proposal member | Proposal | Manages individual proposals, controlling their status and related workflows. |
Ended: Terminology
Changelog
7.9.8 - 2026-01-21
Release Summary
- Release Impact: Minor release with configuration and documentation updates
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: No changes
- Waldur Docker Compose: No changes
- Waldur Prometheus Exporter: No changes
Resources
7.9.7 - 2026-01-17
Release Summary
- Release Impact: Minor release with configuration and documentation updates
- SDK Updates: 3 auto-generated clients updated
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: No changes
- Waldur Docker Compose: No changes
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
- Python Client: 12 commits
- JavaScript Client: 23 commits
- Go Client: 11 commits
Py Client Highlights
- Release: bump version to 7.9.7.
- Update Waldur Python SDK.
- Update Waldur Python SDK.
Js Client Highlights
- Release: bump version to 7.9.7.
- 7.9.7-dev.10.
- Update Waldur TypeScript SDK.
Go Client Highlights
- Update Waldur Go SDK.
- Update Waldur Go SDK.
- Update Waldur Go SDK.
7.9.6 - 2026-01-07
Release Summary
- Release Impact: Minor release with configuration and documentation updates
- SDK Updates: 3 auto-generated clients updated
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: No changes
- Waldur Docker Compose: No changes
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
- Python Client: 25 commits
- JavaScript Client: 51 commits
- Go Client: 24 commits
Py Client Highlights
- Release: bump version to 7.9.6.
- Update Waldur Python SDK.
- Update Waldur Python SDK.
Js Client Highlights
- Release: bump version to 7.9.6.
- 7.9.6-dev.24.
- Update Waldur TypeScript SDK.
Go Client Highlights
- Update Waldur Go SDK.
- Update Waldur Go SDK.
- Update Waldur Go SDK.
Resources
7.9.5 - 2025-12-17
Release Summary
- Release Impact: Minor release with configuration and documentation updates
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: No changes
- Waldur Docker Compose: No changes
- Waldur Prometheus Exporter: No changes
Resources
7.9.4 - 2025-12-16
Release Summary
- Release Impact: Minor release with configuration and documentation updates
- SDK Updates: 3 auto-generated clients updated
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: No changes
- Waldur Docker Compose: No changes
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
Js Client Highlights
- Release: bump version to 7.9.4.
- 7.9.4-dev.2.
- Update Waldur TypeScript SDK.
Resources
7.9.3 - 2025-12-14
Release Summary
- Release Impact: Minor release with configuration and documentation updates
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: No changes
- Waldur Docker Compose: No changes
- Waldur Prometheus Exporter: No changes
Resources
7.9.2 - 2025-12-07
Release Summary
- Release Impact: Minor release with configuration and documentation updates
- SDK Updates: 3 auto-generated clients updated
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: No changes
- Waldur Docker Compose: No changes
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
- Python Client: 12 commits
- JavaScript Client: 19 commits
- Go Client: 9 commits
Py Client Highlights
- Release: bump version to 7.9.2.
- Update Waldur Python SDK.
- Update Waldur Python SDK.
Js Client Highlights
- Release: bump version to 7.9.2.
- 7.9.2-dev.8.
- Update Waldur TypeScript SDK.
Go Client Highlights
- Update Waldur Go SDK.
- Update Waldur Go SDK.
- Update Waldur Go SDK.
Resources
7.9.1 - 2025-11-30
Release Summary
- Release Impact: 23 commits across 4 core repositories
- Functional Changes: 82 files changed with +4925/-1030 lines
- SDK Updates: 3 auto-generated clients updated from OpenAPI schema
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: 11 commits · 21 files changed (+2791/-557 lines)
- Waldur Homeport: 9 commits · 54 files changed (+2125/-465 lines)
- Waldur Helm: 2 commits · 7 files changed (+9/-8 lines)
- Waldur Docker Compose: 1 commits
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
Notable Changes
- Check if WALDUR_OPENPORTAL during routes permission check. (349cad4 - Waldur Homeport)
- Allow set of custom cluster issuer name for cert manager. (7ee2d14 - Waldur Helm)
- Workarkound for changed API. (23c6904 - Waldur Mastermind)
- Extend export/import of data. (9f50656 - Waldur Mastermind)
- Set target version to 7.9.1. (7fc5104 - Waldur Helm)
- Set target version to 7.9.1. (c7dc4e7 - Waldur Docker Compose)
Waldur Mastermind Highlights
- Workarkound for changed API.
- Extend export/import of data.
- Add filter to exclude transitional resources with early pending orders.
Waldur Homeport Highlights
- Fix bad error message when applying for a an available organization with already open request.
- Migrate invitation form to react final form.
- Reallocation limits UI changes.
Js Client Highlights
- Release: bump version to 7.9.1.
- 7.9.1-dev.2.
- Update Waldur TypeScript SDK.
Resources
7.9.0 - 2025-11-30
Release Summary
- Release Impact: 16 commits across 4 core repositories
- Functional Changes: 114 files changed with +1405/-927 lines
- SDK Updates: 3 auto-generated clients updated from OpenAPI schema
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: 8 commits · 11 files changed (+377/-7 lines)
- Waldur Homeport: 3 commits · 99 files changed (+1023/-915 lines)
- Waldur Helm: 4 commits · 4 files changed (+5/-5 lines)
- Waldur Docker Compose: 1 commits
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
Notable Changes
- [WAl-9443] Show review summary on in review proposals. (46b54e2 - Waldur Homeport)
- Set target version to 7.9.0. (9d3756c - Waldur Helm)
- Revert "Revert "Remove leftover path modifications"". (5ee8f11 - Waldur Helm)
- Fix ingress condition. (63903a7 - Waldur Helm)
- Revert "Remove leftover path modifications". (d8dd890 - Waldur Helm)
- Set target version to 7.9.0. (58ceaa9 - Waldur Docker Compose)
Waldur Mastermind Highlights
- Cleanup unused migration.
- Add readonly viewset to list checklists for call organizers.
- Expose additional fields for invoice items.
Resources
7.8.9 - 2025-11-30
Release Summary
- Release Impact: 4 commits across 3 core repositories
- Functional Changes: 8 files changed with +243/-38 lines
- SDK Updates: 2 auto-generated clients updated from OpenAPI schema
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: 2 commits · 6 files changed (+240/-35 lines)
- Waldur Homeport: No changes
- Waldur Helm: 1 commits · 2 files changed (+3/-3 lines)
- Waldur Docker Compose: 1 commits
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
Notable Changes
- Request deletion of offeringuser upon removal from project. (9135636 - Waldur Mastermind)
- Add validation that resources belong to the same offering for limit reallocation. (3c8adcd - Waldur Mastermind)
- Set target version to 7.8.9. (39c5fea - Waldur Helm)
- Set target version to 7.8.9. (fad7a57 - Waldur Docker Compose)
Resources
7.8.8 - 2025-11-30
Release Summary
- Release Impact: 123 commits across 4 core repositories
- Functional Changes: 667 files changed with +36182/-3236 lines
- SDK Updates: 3 auto-generated clients updated from OpenAPI schema
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: 74 commits · 118 files changed (+22512/-916 lines)
- Waldur Homeport: 31 commits · 517 files changed (+13369/-2145 lines)
- Waldur Helm: 17 commits · 32 files changed (+301/-175 lines)
- Waldur Docker Compose: 1 commits
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
- Python Client: 19 commits
- JavaScript Client: 37 commits
- Go Client: 17 commits
Notable Changes
- Force migration of queues. (202721f - Waldur Mastermind)
- Fix check for rmq availability. (1d4da20 - Waldur Mastermind)
- Extend migration to handle both broken and new migrations. (6bb3faf - Waldur Mastermind)
- Fix mermaid typos. (2b7c2ca - Waldur Mastermind)
- Add orders documentation. (65a4924 - Waldur Mastermind)
- Disable rendering of email vars as they crash ansible installer. (9bde6ca - Waldur Helm)
Waldur Mastermind Highlights
- Extend migration to handle both broken and new migrations.
- Fix mermaid typos.
- Add orders documentation.
Waldur Homeport Highlights
- Expose uploaded purchase order in order details [WAL-9356].
- Implement frontend for site agent diagnostics.
- Add form field use_user_organization_as_customer_name.
Waldur Helm Highlights
- Disable rendering of email vars as they crash ansible installer.
- Set target version to 7.8.8.
- Fix template.
Py Client Highlights
- Release: bump version to 7.8.8.
- Update Waldur Python SDK.
- Update Waldur Python SDK.
Js Client Highlights
- Release: bump version to 7.8.8.
- 7.8.8-dev.17.
- Update Waldur TypeScript SDK.
Go Client Highlights
- Update Waldur Go SDK.
- Update Waldur Go SDK.
- Update Waldur Go SDK.
Resources
7.8.7 - 2025-11-30
Release Summary
- Release Impact: 78 commits across 4 core repositories
- Functional Changes: 186 files changed with +6887/-1416 lines
- SDK Updates: 3 auto-generated clients updated from OpenAPI schema
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: 49 commits · 46 files changed (+3070/-210 lines)
- Waldur Homeport: 25 commits · 113 files changed (+3140/-1040 lines)
- Waldur Helm: 3 commits · 27 files changed (+677/-166 lines)
- Waldur Docker Compose: 1 commits
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
- Python Client: 15 commits
- JavaScript Client: 30 commits
- Go Client: 13 commits
Notable Changes
- Fix project credit modal crashing issue. (b25f336 - Waldur Homeport)
- Improve UI of add component modal. (297babe - Waldur Homeport)
- Set target version to 7.8.7. (563758c - Waldur Helm)
- Cleanup docs. (78a0621 - Waldur Helm)
- Add support to set external db name and username configuration. (eb63a40 - Waldur Helm)
- Set target version to 7.8.7. (85107e8 - Waldur Docker Compose)
Waldur Mastermind Highlights
- Add autoprovisioning docs.
- Handle adding/removal of offering compliance checklists.
- Add unique constraint on slurm periodic policy.
Waldur Homeport Highlights
- Implement UI to configure organization-specific component usage limits.
- Fix project credit modal crashing issue.
- Improve UI of add component modal.
Py Client Highlights
- Release: bump version to 7.8.7.
- Update Waldur Python SDK.
- Update Waldur Python SDK.
Js Client Highlights
- Release: bump version to 7.8.7.
- 7.8.7-dev.13.
- Update Waldur TypeScript SDK.
Go Client Highlights
- Update Waldur Go SDK.
- Update Waldur Go SDK.
- Update Waldur Go SDK.
Resources
7.8.6 - 2025-11-30
Release Summary
- Release Impact: 37 commits across 4 core repositories
- Functional Changes: 152 files changed with +6124/-729 lines
- SDK Updates: 3 auto-generated clients updated from OpenAPI schema
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: 5 commits
- Waldur Homeport: 22 commits · 129 files changed (+4549/-597 lines)
- Waldur Helm: 7 commits · 20 files changed (+1574/-107 lines)
- Waldur Docker Compose: 3 commits · 3 files changed (+1/-25 lines)
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
- Python Client: 13 commits
- JavaScript Client: 5 commits
- Go Client: 12 commits
Notable Changes
- Set target version to 7.8.6. (7718ea0 - Waldur Docker Compose)
- Add filter to exclude transitional resources with early pending orders. (b216f24 - Waldur Mastermind)
- Improve filters labels. (fc5b9a1 - Waldur Mastermind)
- Update configuration, CLI and developer guide. (0287336 - Waldur Mastermind)
- Workarkound for changed API. (23c6904 - Waldur Mastermind)
- Extend export/import of data. (9f50656 - Waldur Mastermind)
Waldur Homeport Highlights
- Add multiplier configuration options [WAL-9373].
- Add staff notes.
- Add new end date setting to recovery view.
Waldur Helm Highlights
- Set target version to 7.8.6.
- Update documentation.
- Remove leftover path modifications.
Py Client Highlights
- Release: bump version to 7.8.6.
- Update Waldur Python SDK.
- Update Waldur Python SDK.
Go Client Highlights
- Update Waldur Go SDK.
- Update Waldur Go SDK.
- Update Waldur Go SDK.
Resources
7.8.5 - 2025-11-30
Release Summary
- Release Impact: 65 commits across 3 core repositories
- Functional Changes: 502 files changed with +8116/-4035 lines
- SDK Updates: 2 auto-generated clients updated from OpenAPI schema
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: 59 commits · 496 files changed (+8027/-4010 lines)
- Waldur Helm: 5 commits · 6 files changed (+89/-25 lines)
- Waldur Docker Compose: 1 commits
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
- Python Client: 19 commits
- Go Client: 28 commits
Notable Changes
- Update enums and descriptions from Waldur Mastermind. (ab5581c - Waldur Homeport)
- Add JIRA mapping of frontend types to request types. (96e94ad - Waldur Homeport)
- Add support for display and management of terminated projects [WAL-9212]. (d9776ed - Waldur Homeport)
- Fix sentry crash. (bd96857 - Waldur Homeport)
- Set target version to 7.8.5. (bc1f90d - Waldur Helm)
- Set target version to 7.8.5. (943480b - Waldur Docker Compose)
Waldur Homeport Highlights
- Add support for display and management of terminated projects [WAL-9212].
- Fix sentry crash.
- Update enums and descriptions from Waldur Mastermind.
Py Client Highlights
- Release: bump version to 7.8.5.
- Update Waldur Python SDK.
- Update Waldur Python SDK.
Go Client Highlights
- Update Waldur Go SDK.
- Update Waldur Go SDK.
- Update Waldur Go SDK.
Resources
7.8.4 - 2025-11-30
Release Summary
- Release Impact: 10 commits across 3 core repositories
- Functional Changes: 3 files changed with +67/-52 lines
- SDK Updates: 1 auto-generated clients updated from OpenAPI schema
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: 5 commits
- Waldur Helm: 3 commits · 2 files changed (+3/-3 lines)
- Waldur Docker Compose: 2 commits · 1 files changed (+64/-49 lines)
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
- Python Client: 12 commits
Notable Changes
- Set target version to 7.8.4. (fb7f946 - Waldur Docker Compose)
- Fix bad error message when applying for a an available organization with already open request. (e035237 - Waldur Homeport)
- Migrate invitation form to react final form. (264cc02 - Waldur Homeport)
- Reallocation limits UI changes. (dc725fb - Waldur Homeport)
- Fix either toggle or specific organization can be selected. (c506659 - Waldur Homeport)
- Check if WALDUR_OPENPORTAL during routes permission check. (349cad4 - Waldur Homeport)
Py Client Highlights
- Release: bump version to 7.8.4.
- Update Waldur Python SDK.
- Update Waldur Python SDK.
Resources
7.8.3 - 2025-11-30
Release Summary
- Release Impact: 2 commits across 2 core repositories
- Functional Changes: 2 files changed with +3/-3 lines
- SDK Updates: 2 auto-generated clients updated from OpenAPI schema
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: 1 commits · 2 files changed (+3/-3 lines)
- Waldur Docker Compose: 1 commits
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
Notable Changes
- Set target version to 7.8.3. (827681b - Waldur Helm)
- Set target version to 7.8.3. (e32b13b - Waldur Docker Compose)
Resources
7.8.2 - 2025-11-30
Release Summary
- Release Impact: 2 commits across 2 core repositories
- Functional Changes: 2 files changed with +3/-3 lines
- SDK Updates: 2 auto-generated clients updated from OpenAPI schema
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: 1 commits · 2 files changed (+3/-3 lines)
- Waldur Docker Compose: 1 commits
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
- Python Client: 5 commits
- Go Client: 14 commits
Notable Changes
- Set target version to 7.8.2. (8b9a3c2 - Waldur Helm)
- Set target version to 7.8.2. (19ef652 - Waldur Docker Compose)
Go Client Highlights
- Update Waldur Go SDK.
- Update Waldur Go SDK.
- Update Waldur Go SDK.
Resources
7.8.1 - 2025-11-30
Release Summary
- Release Impact: 2 commits across 2 core repositories
- Functional Changes: 2 files changed with +3/-3 lines
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: 1 commits · 2 files changed (+3/-3 lines)
- Waldur Docker Compose: 1 commits
- Waldur Prometheus Exporter: No changes
Notable Changes
- Set target version to 7.8.1. (df73b4c - Waldur Helm)
- Set target version to 7.8.1. (4b13d32 - Waldur Docker Compose)
Resources
7.8.0 - 2025-11-30
Release Summary
- Release Impact: 4 commits across 2 core repositories
- Functional Changes: 4 files changed with +295/-3 lines
- SDK Updates: 1 auto-generated clients updated from OpenAPI schema
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: 3 commits · 4 files changed (+295/-3 lines)
- Waldur Docker Compose: 1 commits
- Waldur Prometheus Exporter: No changes
SDK Updates (Auto-generated)
- Go Client: 5 commits
Notable Changes
- Add ENABLE_PROJECT_KIND_COURSE field. (36404b1 - Waldur Helm)
- Basic overview of helm components. (0037b29 - Waldur Helm)
- Set target version to 7.8.0. (38bbe0d - Waldur Helm)
- Set target version to 7.8.0. (e1b89ee - Waldur Docker Compose)
Resources
7.7.9 - 2025-11-30
Release Summary
- Release Impact: 2 commits across 2 core repositories
- Functional Changes: 2 files changed with +3/-3 lines
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: 1 commits · 2 files changed (+3/-3 lines)
- Waldur Docker Compose: 1 commits
- Waldur Prometheus Exporter: No changes
Notable Changes
- Set target version to 7.7.9. (f2c09cc - Waldur Helm)
- Set target version to 7.7.9. (cbdebc3 - Waldur Docker Compose)
Resources
7.7.8 - 2025-11-30
Release Summary
- Release Impact: 8 commits across 2 core repositories
- Functional Changes: 8 files changed with +77/-22 lines
Statistics Note
Excludes tests, auto-generated files, and SDK client code for accurate development metrics.
Core Component Activity
- Waldur Mastermind: No changes
- Waldur Homeport: No changes
- Waldur Helm: 6 commits · 7 files changed (+75/-21 lines)
- Waldur Docker Compose: 2 commits · 1 files changed (+2/-1 lines)
- Waldur Prometheus Exporter: No changes
Notable Changes
- Implement support for RabbitMQ operator (Season 1, episode 2). (49d1f0c - Waldur Helm)
- Add resources settings to initContainers of waldur beat deployment. (8ea8f0f - Waldur Helm)
- Make upgrade instructions more reliable. (ac45b19 - Waldur Docker Compose)
- Set target version to 7.7.8. (0d827b1 - Waldur Helm)
- Add settings for course accounts. (e9ba76f - Waldur Helm)
- Set target version to 7.7.8. (f7cbdf5 - Waldur Docker Compose)
Waldur Helm Highlights
- Set target version to 7.7.8.
- Add settings for course accounts.
- Add resources settings to initContainers of waldur beat deployment.
Resources
Ended: About
Admin guide ↵
Architecture
Waldur is composed of several components that work together to provide a comprehensive cloud management platform.
Components
- Homeport (web client, graphical interface) - React application
- Waldur site agent - Remote agent for managing provider resources and synchronizing data
- Mastermind API server - Django/Django REST Framework application implementing the core business logic
- Celery workers - Background processing of tasks
- Celery beat - Scheduling of periodic tasks for background processing
- PostgreSQL database - Storing persistent data, also serves as Celery result store in Kubernetes deployment
- RabbitMQ - Tasks queue and result store for Celery
Architecture diagram
flowchart TD
User[👤 User] --> Browser[🌐 Web Browser]
Browser --> |Sends request| Homeport[🏠 Homeport<br/>React Application]
Homeport --> |API calls| API[🔧 Mastermind API<br/>Django/DRF Server]
Agent[🤖 Waldur Site Agent<br/>Remote Resource Manager] --> |API calls| API
API --> |Saves data| DB[(🗄️ PostgreSQL<br/>Database)]
API --> |Pushes tasks| Queue[📋 Task Queue<br/>RabbitMQ]
Worker[⚙️ Celery Worker<br/>Background Processing] --> |Pulls tasks| Queue
Worker --> |Saves results| DB
Beat[⏰ Celery Beat<br/>Task Scheduler] --> |Schedules periodic tasks| Queue
classDef frontend fill:#d5e8d4,stroke:#82b366,stroke-width:2px
classDef backend fill:#dae8fc,stroke:#6c8ebf,stroke-width:2px
classDef infrastructure fill:#fff2cc,stroke:#d6b656,stroke-width:2px
classDef agent fill:#f8cecc,stroke:#b85450,stroke-width:2px
class User,Browser,Homeport frontend
class API,Worker,Beat backend
class DB,Queue infrastructure
class Agent agentBackups
Waldur keeps state in 2 components:
- Database - main persistency layer.
- Message queue - contains transient data mostly about scheduled jobs and cache.
Of these, only database needs to be backed up.
A typical approach to a backup is:
1. Create a DB dump
- An entire db dump
1 | |
- An entire db dump with cleanup commands:
1 | |
- A db dump containing only data
1 | |
2. Copy backup to a remote location
Using rsync / scp or more specialised tools.
3. Restore the created backup
1 | |
We suggest to make sure that backups are running regularly, e.g. using cron.
Billing and accounting in Waldur
Waldur's accounting and billing components are responsible for collecting accounting data and presenting it to end users. It features built-in reporting and accounting functionality, enabling the tracking of usage information for each project and its resources. During the service offering creation process, providers can define accounting components (such as CPU-h, GPU-h, and storage for HPC; CPU, RAM, and storage for VMs) and set the pricing plans for each component. Consumers can view usage information according to the policies established by the provider.
From a provider point of view, Waldur supports invoice generation and exposes enough of information via APIs to integrate with custom payment providers.
Waldur offers convenient tools for consumers to view resource usage information. The user interface displays overall usage data within a project and breaks down monthly usage across resource components such as CPU, GPU, and storage. End users can export this usage data in PDF, CSV, and XLSX formats. Access to information varies by user role: project members can see details for their specific projects, while organization owners can view information for all projects within their organization.
In addition to that, Waldur offers convenient way for exporting the usage information for visualization with Grafana.
Checklist for Go live
General
- Make sure that privacy policy and terms of use are updated to the site specific ones.
- Make sure that SMTP server and outgoing email address are configured and emails are sent out.
- Reboot test: restart all the nodes where Waldur components are running, application should recover automatically.
Security
- Remove or disable default staff accounts.
- Generate a new random secret key.
Backups
- Make sure that configuration of Waldur is backed up and versioned.
- Assure that DB backups are performed, i.e. backups are created when manually triggering
- Assure that DB backups files are on a persistent storage, preferably outside the storage used for Waldur's database.
Air-gapped deployments
- Make sure that Waldur docker images are mirrored to a local registry.
Cookie policy and Telemetry
Cookie policy
Waldur can save data about the user in a browser. Data type and policy depends on the component.
HomePort
- Saving of the latest view point of the user.
- Saving redirect information, i.e. where to forward from a certain state.
- Saving which authentication method was used by user for logging in.
- Saving user session token.
- Saving user language preference.
MasterMind
- Saving authentication token (cookie) when a user logs into /admin management interface.
Telemetry
Waldur can send telemetry metrics to the telemetry server. Metrics are sent only if the feature is enabled and the telemetry server is configured in the Waldur settings.
To toggle the feature on or off, navigate to Administration -> Settings -> Features in HomePort and enable or disable the Send telemetry metrics feature.

An example of telemetry metrics is shown below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Debugging guide for Waldur Mastermind
Introduction
This guide provides systematic approaches for troubleshooting Waldur Mastermind deployments. Use these techniques to diagnose issues with API, worker processes, email delivery, and resource provisioning.
Common debugging scenarios
Symptom-based troubleshooting guide
| Symptom | First Check | Next Steps |
|---|---|---|
| Users not receiving emails | Email logs | SMTP configuration, email templates |
| API returning errors | API logs | HTTP status codes, request parameters |
| Resources stuck in provisioning | Worker logs | Backend connectivity, quota issues |
| Slow performance | Database logs | Query performance, connection pooling |
| Authentication failures | API logs with auth filter | IdP configuration, token issues |
Accessing and filtering logs
Email-related events
Docker Compose
Check your specific deployment logs location, typically:
1 2 3 4 | |
Helm
1 2 | |
Component logs
API Logs in Helm
1 2 | |
Worker Logs in Helm
1 2 | |
Advanced log filtering
1 2 3 4 5 6 7 8 | |
Troubleshooting component issues
API server problems
- Check if the API container is running:
1 2 3 4 5 | |
- Verify API health endpoint:
1 2 | |
- Check for configuration issues:
1 2 3 4 5 | |
Worker issues
- Check Celery worker status:
1 2 3 4 5 | |
- Verify task queue connectivity:
1 2 3 4 5 | |
Database troubleshooting
- Check database connectivity:
1 2 3 4 5 | |
- Identify slow queries (requires database access rights):
1 2 3 4 5 | |
API endpoint issues
- Test endpoint with curl (store tokens in environment variables for security):
1 2 3 4 5 | |
- Common HTTP status codes:
- 401/403: Authentication/authorization issue
- 404: Resource not found
-
500: Server error (check logs)
-
For development environments only (⚠️ NEVER in production): Temporarily increase debug verbosity through admin settings panel or by editing configuration files.
Authentication problems
- Check token validity:
1 2 3 4 5 | |
- Verify IdP configuration:
1 2 | |
Resource provisioning failures
- Check resource state:
1 2 3 4 5 | |
- Check backend connectivity (if you have the right plugin installed):
1 2 | |
Log management
Log rotation
Both Docker Compose and Kubernetes deployments typically have configured log rotation:
1 2 3 4 5 | |
Centralized logging
For production deployments, consider:
- Fluentd for log collection
- Elasticsearch for storage and search
- Kibana for visualization
Debug mode activation
⚠️ Warning: Debug mode should ONLY be used in development environments.
For development deployments, you can enable debug mode:
1 2 3 | |
For production troubleshooting, use targeted logging instead of enabling full debug mode.
Grafana and Prometheus Metrics
Waldur Homeport includes a number of reports, but for cases when additional custom reports need to be created, it is possible to setup a time-series database, for example, Prometheus, and setup business metrics exporter for Waldur.
This would allow to create live dashboards exposing, for example, growth of adoption of the platform in terms of users and offerings, aggregated costs of resource on a daily or weekly basis, total active provisioned resources on an hourly basis and so on.
To achieve that, waldur-prometheus-exporter needs to be setup. In addition, we provide example Grafana dashboard json for visualising the metrics.
Creating a database user with restricted permissions
When integrating Grafana with Waldur's database, we will create a dedicated database user with restricted permissions. For this, run the following commands using psql under your Waldur database user:
1 2 3 4 5 | |
When setting up Grafana, use the postgres_stats user to connect to your database with the appropriate permissions.
Prometheus metrics
Prometheus exporter allows to setup export of business metrics and reporting information at the fine-grained granularity, for example, every 5 minutes or daily. Collected information can then be visualized in Grafana or other visualisation solutions.
Currently, the following metrics are supported:
- Total count of users;
- Total count of organizations;
- Total count of projects;
- Total count of users with owner permissions;
- Total count of support users;
- Total count of users with local registration method;
- Total count of users with saml2 registration method;
- Total count of users with tara registration method;
- Total count of users with eduteams registration method;
- Total count of active resources;
- Count of projects for each organization;
- Count of resources for every organization;
- Count of members for every organization;
- Resources limits by offerings, customer groups, customer countries;
- Aggregated usages by offerings, customer groups, customer countries;
- Aggregated usages per month;
- Count of users visible to service provider;
- Count of projects visible to service provider;
- Count of projects visible to service provider and grouped by OECD science code;
- Total cost of active resources per offering;
- Projects usages grouped by OECD science code;
- Projects limits grouped by OECD science code;
- Projects usages grouped by industry flag;
- Projects limits grouped by industry flag;
- Count unique users connected with active resources of a service provider;
- Count active resources grouped by offering;
- Count active resources grouped by country;
- Count active resources grouped by organization group;
- Count projects with active resources grouped by provider and OECD science code;
- Count projects with active resources grouped by provider and industry flag.
Hardware Requirements
This document outlines the recommended hardware requirements for deploying Waldur in different environments.
Deployment Methods
| Deployment Method | Minimum Requirements | Recommended Configuration | Notes |
|---|---|---|---|
| Docker Compose | • 4 vCPU • 12 GB RAM • 20 GB storage |
• 8 vCPU • 16 GB RAM • 40 GB storage |
Single server deployment, fastest to set up |
| Kubernetes (Helm) | See detailed component breakdown below | See detailed component breakdown below | Production-grade, scalable deployment |
Kubernetes Resource Requirements
Namespace Totals
| Requirement Level | CPU | Memory | Storage | Notes |
|---|---|---|---|---|
| Minimal | 10000m (10 vCPU) | 18000Mi (18 GB) | 32Gi | 1 replica per each Waldur component, 1 PostgreSQL, 1 RabbitMQ + room for updates (3 vCPU, 2 GB) |
| Recommended | 22000m (22 vCPU) | 45000Mi (45 GB) | 185Gi | 2 Waldur Mastermind API, 2 Waldur Workers, 1 Waldur Beat, 1 Waldur Homeport, 3 PostgreSQL HA replicas, 3 RabbitMQ replicas + room for updates (3 vCPU, 8 GB) |
Per-Component Requirements
| Component | CPU Requests | CPU Limits | Memory Requests | Memory Limits | Notes |
|---|---|---|---|---|---|
| Waldur Mastermind API | 500m | 1000m | 2000Mi | 4000Mi | Serves API requests, increase for high traffic |
| Waldur Mastermind Worker | 1000m | 2000m | 2000Mi | 4000Mi | Processes background tasks, critical for performance |
| Waldur Mastermind Beat | 250m | 500m | 500Mi | 1000Mi | Schedules periodic tasks |
| Waldur HomePort | 250m | 500m | 500Mi | 1000Mi | Serves web interface |
| PostgreSQL (Single) | 500m | 1000m | 1024Mi | 2048Mi | Main database, persistent storage |
| PostgreSQL (HA, per replica) | 1000m | 2000m | 2048Mi | 4096Mi | For high availability (3 replicas recommended) |
| RabbitMQ (per replica) | 1000m | 2000m | 2048Mi | 4096Mi | Message broker (3 replicas recommended) |
Storage Requirements
| Component | Minimal Size | Recommended Size | Notes |
|---|---|---|---|
| PostgreSQL | 10Gi | 40Gi | Main database storage, grows with user and resource count |
| RabbitMQ | 5Gi | 10Gi | Message queue persistence |
| Backups | 20Gi | 50Gi | Separate storage for database backups |
Scaling Recommendations
| User Scale | API Replicas | Worker Replicas | PostgreSQL Configuration | Additional Notes |
|---|---|---|---|---|
| Small (<100 users) | 1 | 1 | Single instance | Default values sufficient |
| Medium (100-500 users) | 2 | 2 | Single instance with increased resources | Enable HPA for API |
| Large (500+ users) | 3+ | 3+ | HA with 3 replicas | Enable HPA for all components, increase resource limits |
Performance Factors
Consider increasing resources beyond the recommended values if your deployment includes:
- High number of concurrent users (>50 simultaneous active sessions)
- Large number of resources being managed (>1000 total resources)
- Complex marketplace offerings with many components
- Frequent reporting or billing operations
- Integration with multiple external systems
Hardware Recommendations for Production
| Component | vCPU | RAM | Storage | Network |
|---|---|---|---|---|
| Control Plane Nodes | 4 cores | 8 GB | 100 GB SSD | 1 Gbps |
| Worker Nodes | 8 cores | 16 GB | 200 GB SSD | 1 Gbps |
| Database Nodes | 4 cores | 8 GB | 100 GB SSD | 1 Gbps |
| Load Balancer | 2 cores | 4 GB | 20 GB | 1 Gbps |
Managing Waldur with Ansible
NB! Repository with Ansible playbooks for Waldur management is not open-sourced. It is available to Waldur users that have purchased support packages.
Compatibility
Ansible version 2.9 is supported; code in this repository may work with other Ansible versions but it is not guaranteed.
Quick setup
- Make sure that you have:
- Folder containing managed-ansible Ansible installer (this one).
- Folder containing deployment-specific settings.
- Copy
setup_deployment.sh.exampletosetup_deployment.sh, adjust:- INSTALLER_PATH - full path to current folder
- DEPLOYMENT_CONFIG_PATH - full path to folder with deployment-specific information
- DEPLOYMENT_IDS - list of deployment IDs you want to manage.
- Run ./setup_deployment.sh. This will create required symlinks.
- Run
ansible-playbook -DC <deployment_id.yml>to check what installer will do. - Run
ansible-playbook -D <deployment_id.yml>to apply the installer.
Upgrading installer
- Download a new archive into a separate folder and unpack.
-
Check what has changed:
rsync --dry-run -avzh unpacked-folder-eg-ansible-3.2.3/ /path/to/installer/ -
Do the upgrade:
rsync -avzh unpacked-folder-eg-ansible-3.2.3/ /path/to/installer/
Upgrading Waldur
Upgrading Waldur to a new version is achieved by following the checklist:
- Update deployment-specific variables for the new version in
groups_vars/<deployment_id>/varsandgroups_vars/<deployment_id>/vault(if setting is private). - Update target version in
groups_vars/<deployment_id>/vars: setwaldur_homeport_versionandwaldur_mastermind_versionto a new version of the Waldur release. - Run
ansible-playbook -DC <deployment_id.yml>to check what installer will do during the upgrade. - Run
ansible-playbook -D <deployment_id.yml>to perform an upgrade.
Add new deployment
Infrastructure:
- Prepare servers matching requirements.
- Make sure you can access them by SSH by running only
ssh <host>. Otherwise you should tweak~/.ssh/configfile or describe connectivity in the Ansible inventory.
Ansible (this repository):
- Add new deployment-specific host group to
hostsfile (example:[foo]); add hosts to this group. - Add hosts to Waldur role groups in
hostsfile. - Add variable files for new deployment:
group_vars/foo/varsandgroup_vars/foo/vault - Add deployment specific information under
deploymentsfolder. - Copy existing playbook that is the closest match for a new deployment; modify as needed
- Run Ansible playbook to set up deployment:
ansible-playbook -D foo.yml
Remove deployment
Ansible (this repository):
- Delete deployment-specific playbook, roles, tasks, templates etc.
- Delete variable files:
rm -rf group_vars/foo - Delete deployment-specific host group and all deployment-specific hosts from
hostsfile (example:[foo])
Managing Waldur deployed as Helm
Requirements:
- Installed and running
kubernetessystem on a node (e. g. minikube) - Installed
kubectlon the node
Place all configuration files for release in next manner:
values.yaml->roles/waldur_helm/files/waldur_helm/waldur/values.yaml->roles/waldur_helm/files/waldur_helm/waldur/- Files related to TLS ->
deployments/<deployment_id>/tls/ - Files related to white-labeling ->
deployments/<deployment_id>/whitelabeling/ - Files related to mastermind templates ->
deployments/<deployment_id>/mastermind_templates/ - Files related to stress testing ->
deployments/<deployment_id>/locust_tasks/ - Files related to SAML2 ->
deployments/<deployment_id>/waldur_saml2/
More configuration info:
Multilingual User Interface
Waldur user interface is available in several languages. Default language is English, but the end users may have several other options to choose from. The number of available languages depends on the Waldur's configuration. Current status of the overall avalable languages are visible on the Localazy website.
Waldur uses Localazy service, to translate the user interface. Localazy is a continuous localization platform and web-based translation management system. This allows to use AI or human translation. Everyone can contribute to Waldur's translation by adding new translantions or fixing current ones, more information here.
OfferingUser management
OfferingUser is a model in Waldur, which represents a link between an offering available in marketplace and a user. A service provider can utilize it to create an account for a service visible for all the offering resources, for example: a user account in a SLURM cluster. As an account, an OfferingUser can have a custom username different from user's one.
This feature is available for all offering types.
For Basic, SLURM remote and Custom script offerings, offering-users are created automatically when a user is added to the project with active offering resources or when a new offering resource is created.
In case of Rancher, offering-users are created when users are imported from a Rancher cluster.
In case of SLURM, offering-users are created when association are imported from a SLURM cluster.
Defining the OfferingUser management policy
A service provider can define the policy via User Interface:
- Select the particular offering and go to Edit section.
-
Select Integration and then User management from the top menu.
-
Here it is possible to enable the automatic creation of offering users and define how it is done exactly.
- Enable automatic creation of offering users: Enable/disable automatic creation of offering users;
- Shared user password: Set common password for all offering users;
-
Username generation policy: Define how usernames are generated:
Service provider: a service provider should manually set usernames for the offering users (default strategy);Anonymized: usernames are generated with<prefix>_<number>, e.g. "anonym_00001"; the prefix must be specified in the plugin options of the offering asusername_anonymized_prefix;Full name: usernames are constructed using first and last name of users with numerical suffix, e.g. "john_doe_01";Waldur username: uses a Waldur instance username of a user;FreeIPA: uses the username field of a corresponding FreeIPA profile;Identity claim: uses dedicated attribute released by the IdP as a username.
-
Initial UID number: refers to the lowest numerical user ID (UID) assigned to regular users;
- Initial primary group number: refers to Group ID (GID) assigned to a user when they are created;
- Home directory prefix: Allows to define home directory prefix for the offering users.
-
After this, the usernames are regenerated for all the linked offering users.
Granting user access to resource
An access to a resource can be granted by service provider for a particular user with specification of username. A result is represented by triplet [user, resource, username]. For this purpose, create_remote_offering_user should be invoked. This method requires the following arguments:
- offering - UUID or URL of a target offering;
- user - UUID or URL of a target user;
- username - username for the user.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
In case if SDK usage is not possible, HTTP request can be sent:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Granting user access to corresponding resources in batch manner
A service provider can grant access mentioned in the previous section to all resources used in projects including a target user. For such access creation or update, set_offerings_username is used. The method requires the following arguments:
- service_provider_uuid - UUID of a target service provider;
- user_uuid - UUID of a target user;
- username - the new username.
1 2 3 4 5 6 7 8 9 | |
Waldur roles and permissions
Overview
Waldur provides a flexible Role-Based Access Control (RBAC) system, enabling administrators to manage user permissions efficiently. Roles define the actions users can perform within the system, ensuring structured and secure access to resources.
This guide outlines Waldur's roles, their associated permissions, and how they govern access within the platform.
Managing roles in Waldur
Roles in Waldur are structured to define user access within specific scopes. The key attributes of a role include:
- Name – A unique identifier for the role
- Scope – The context in which the role is applicable (e.g., Organization, Project, Call, etc.)
- Description – A brief explanation of the role's purpose and responsibilities
- Active – Indicates whether the role is currently available for assignment
Users can be assigned one or more roles within an Organization, Project, Call, Offering, Service Provider, Proposal, or Call managing organization scope.
Default roles and permissions
Waldur provides predefined roles to streamline access management across different scopes. Below is an overview of available roles, grouped by scope.
Organization roles
Scope: Organization
| Name | Description | Active |
|---|---|---|
| Customer owner | The highest-level role in an organization, granting full administrative control | Yes |
| Customer manager | A managerial role for service providers within an organization | Yes |
| Customer support | Provides limited support access within an organization | No |
Project roles
Scope: Project
| Name | Description | Active |
|---|---|---|
| Project administrator | Grants full control over a project, including resource and order management | Yes |
| Project manager | Similar to the administrator role but includes additional permission management capabilities | Yes |
| Project member | A limited role with basic project access | No |
Offering roles
Scope: Offering
| Name | Description | Active |
|---|---|---|
| Offering manager | Manages an offering's configuration and associated resources | Yes |
Call managing organization roles
Scope: Call managing organization
| Name | Description | Active |
|---|---|---|
| Customer call organizer | An organization-specific role for handling calls | Yes |
Call roles
Scope: Call
| Name | Description | Active |
|---|---|---|
| Call manager | Oversees calls and proposal approvals | Yes |
| Call reviewer | A role dedicated to reviewing submitted proposals | Yes |
Proposal roles
Scope: Proposal
| Name | Description | Active |
|---|---|---|
| Proposal manager | Responsible for managing proposals within a call | Yes |
Service provider roles
Scope: Service provider
| Name | Description | Active |
|---|---|---|
| Service provider manager | Manages service provider-specific settings and operations | Yes |
Role assignment and management
Roles are assigned to users based on their responsibilities and required access levels. Administrators can:
- Add or remove user roles
- Modify permissions associated with roles
- Revoke roles manually or set expiration times for temporary access
Managing roles via the interface
The Waldur administration interface offers an intuitive way to manage user roles. Staff users can:
- Navigate to the Administration panel
- Select the User roles section under Settings menu
- Modify existing roles by updating permissions or changing their status
- Disable roles as needed
Using the administration interface simplifies role management and ensures a structured approach to access control.
⚠️ Important notes:
- Roles should follow the principle of least privilege
- Some roles are disabled by default (e.g., Customer support)
- Regular audits of role assignments are recommended
- Certain roles are scope-restricted (e.g., Customer call organizer)
- Changes to role permissions should be carefully considered
- Document any custom role configurations
Waldur Shell
Waldur provides a shell for command line scripting. To start a shell, run waldur shell in the MasterMind context.
For Docker Compose deployments, please run:
docker exec -it waldur-mastermind-api waldur shell
For Helm-based K8s deployments, please run:
1 2 3 | |
Examples
Setting/removing staff permissions for a user
1 2 3 4 5 6 7 8 | |
Creating a new user with token only authentication
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Triggering pulling of usage data from remote Waldur
1 2 3 | |
Apply changes in Waldur HPC plugin to existing users
1 2 3 4 5 | |
Cleanup leftover ports from OpenStack Project
Lookup UUID of an OpenStack tenant (aka backend_id in Waldur).
1 2 3 4 5 6 7 8 9 10 11 12 | |
Add affiliations to user
1 2 3 4 5 | |
Create a service user for API access
To create a service user - without valid access credntials and non-expiring Token, please run the following script.
1 2 3 4 5 6 7 8 9 10 11 | |
Synchronise SLURM associations
Note: <allocation-uuid> field can be found in an allocations's details page.
Select Organization -> Select project -> Select allocation -> Find 'UUID' field in the page.
1 2 3 4 5 6 7 8 | |
Lookup user details from Eduteams
Note: USER_CUID is a unique ID of user in Eduteams.
1 2 3 4 5 | |
Generate report for list of projects and their details
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Generate report for OpenStack resources across projects
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | |
Update limits for all tenants in a specific organization
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | |
Generate cost report for a specific organization by month
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Generate a report for VMs created within a specific tenant offering
Upon running the script, please change year and offering_uuid variables.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | |
Migrate users to a new Keycloak instance
Introduction
There are 3 scripts involved:
-
export-keycloak-user-permissions.py: exports Keycloak user data to a
.yamlfile in the following format:1 2 3 4 5 6 7 8 9 10 11 12 13 14
- username: johndoe email: johndoe@example.com full_name: John Doe permissions: - type: project project_uuid: bed45d99e83d4c17a5bf5908ad70554e role_uuid: e4130fde02474571a5166bb6742dc2d0 project_name: "Project 01" role_name: "PROJECT.MANAGER" - type: customer customer_uuid: 1aaec6489ea7492cbe0401997de13653 role_uuid: 16ec8cf8874d467d9a2c7a0c822c6b3e customer_name: "Organization 01" role_name: "CUSTOMER.OWNER" -
delete-keycloak-users.py: removes data about all the users from an old Keycloak instance
-
invite-keycloak-users.py: creates and sends invitations to the user emails based on their roles in project and organizations
When you are ready to migrate users to the new Keyaloak instance:
- copy the script file to the
waldur-mastermind-apicontainer usingdocker cporkubectl cpcommands; - connect to the container shell using
docker execorkubectl exec; - execute the scripts sequentially using
waldur shell:
1 2 3 | |
export-keycloak-user-permissions
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | |
delete-keycloak-users
1 2 3 4 | |
invite-keycloak-users
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | |
User deletion examples
Basic user deletion
1 2 3 4 5 6 7 8 9 | |
Find and delete users with partial information
1 2 3 4 5 6 7 | |
Find and delete user based on OfferingUser information
1 2 3 4 5 6 7 8 9 10 11 | |
⚠️ Important notes:
- Always verify you have the correct user before deletion
- User deletion will cascade and remove all related permissions and roles
- For users authenticated via external providers (LDAP, SAML, etc.), this only removes the user from Waldur
Deployment ↵
Argocd ↵
Waldur deployment in ArgoCD
This repository contains ansible playbook settings for infrastructure setup (ansible/ directory)
together with Kubernetes manifest files for different applications managed by ArgoCD (applications/ directory).
Infrastructure setup
Before beginning with application management, infrastructure setup is required. For this, you should use the playbook ansible/cloud-infrastructure-setup.yaml. Given an access to virtual machines with python3.8+ installed, it is capable of:
- Disk setup in case if each virtual machine has a separate disk attached as a device;
- Installation of RKE2-managed Kubernetes cluster with a single server and workers;
- Installation of Helm tool binary;
- Installation of ArgoCD: both Kubernetes manifests and command-line binary.
All these steps can be customized via either ansible/vars.defaults or ansible/vars.custom file.
The example infra has 3 VMs with python3.9 installed.
After establishing ssh-based connection to the machines, you can execute the playbook:
1 | |
After successful run, the infra is ready for further steps.
Installation and management of applications
You should run all the command described below on the RKE2 server, where ArgoCD binary installed, only.
Prerequisite
The following lines ensure user login to ArgoCD server via argocd binary.
They should run prior to every application-related action.
1 2 3 | |
You can validate authentication and access:
1 2 | |
Longhorn
You can use this app manifest and this custom values file for Longhorn installation.
This script creates a new Kubernetes namespace, where application is created synched:
1 2 3 | |
PostgreSQL operator
You can use this app manifest and this custom values file for PostgreSQL operator installation.
This script creates a new Kubernetes namespace, where application is created synched:
1 2 3 | |
Waldur
Waldur requires PostgreSQL database as a persistent storage and RabbitMQ as a message queue to be up and running.
Firstly, you need to create a namespace for Waldur:
1 | |
Secondly, create and sync PostgreSQL application managed by the operator installed before. You can use this manifest for ArgoCD app and this manifest for modification of the DB settings.
1 2 | |
Finally, you can deploy Waldur using this app manifest and these values. NB: RabbitMQ is included in the deployment.
1 2 | |
Ended: Argocd
Docker compose ↵
Waldur Docker-compose deployment
Prerequisites
- at least 8GB RAM on Docker Host to run all containers
- Docker v1.13+
Prepare environment
1 2 3 4 5 | |
Booting up
1 2 3 4 5 6 7 8 9 10 11 12 | |
Waldur HomePort will be accessible on https://localhost. API will listen on https://localhost/api.
Healthcheck can be accessed on https://localhost/health-check.
Tearing down and cleaning up:
1 | |
Logs
Logs emitted by the containers are collected and saved in the waldur_logs folder. You can change the location by
editing environment variable (.env) and updating LOG_FOLDER value.
Known issues
When Waldur is launched for the first time, it applies initial database migrations. It means that you may need to wait few minutes until these migrations are applied. Otherwise you may observe HTTP error 500 rendered by REST API server. This issue would be resolved after upgrade to Docker Compose 1.29.
To use a custom script offering type, it should be possible to connect to /var/run/docker.sock from
within the Waldur containers. If you are getting a permission denied error in logs, try setting more
open permissions, for example, chmod 666 /var/run/docker.sock. Note that this is not a secure
setup, so make sure you understand what you are doing.
Upgrading Waldur
1 2 3 | |
Upgrade Instructions for PostgreSQL Images
Automated Upgrade (Recommended)
To simplify the upgrade process, an upgrade script db-upgrade-script.sh is included in the root directory. This script automates the entire upgrade process.
Usage Instructions
- Ensure Waldur is running with the current (old) PostgreSQL version that you wish to upgrade from:
1 | |
-
Update the PostgreSQL versions in
.envfile:1 2
WALDUR_POSTGRES_IMAGE_TAG=<your_version> KEYCLOAK_POSTGRES_IMAGE_TAG=<your_version> -
Ensure the script has execution permissions:
1 | |
- Run the upgrade script:
1 | |
Important: The script needs the containers to be running with the old PostgreSQL version first so it can back up the existing data before upgrading.
The script will automatically:
- Back up both databases
- Shut down all containers
- Remove old data directories and volumes
- Pull new PostgreSQL images
- Start containers with new PostgreSQL versions
- Restore data from backups
- Create SCRAM tokens for PostgreSQL 14+ compatibility
- Start all containers
Manual Upgrade (Alternative)
If you prefer to perform the upgrade manually, follow these steps:
Manual Prerequisites
- Backup existing data (if needed)
Backup Commands
You can back up the database using pg_dumpall.
For Waldur DB:
1 | |
For Keycloak DB:
1 | |
Manual Upgrade Steps
-
Update PostgreSQL Versions
Update the
WALDUR_POSTGRES_IMAGE_TAGandKEYCLOAK_POSTGRES_IMAGE_TAGin the.envfile to the required versions.1 2
WALDUR_POSTGRES_IMAGE_TAG=<your_version> KEYCLOAK_POSTGRES_IMAGE_TAG=<your_version> -
Shut down containers
1docker compose down -
Remove old data directories
Note: The waldur-db uses a bind mount (
./pgsql) while keycloak-db uses a named volume (keycloak_db). Both need to be removed before upgrading. Warning: This action will delete your existing PostgreSQL data. Ensure it is backed up before proceeding.Remove the pgsql directory (waldur-db data):
1sudo rm -r pgsql/Remove the keycloak_db volume:
1docker volume rm waldur-docker-compose_keycloak_db -
Pull the New Images
1docker compose pull -
Start database containers
1docker compose up -d waldur-db keycloak-db -
Restore Data (if backups have been made)
For Waldur DB:
1cat waldur_upgrade_backup.sql | docker exec -i waldur-db psql -U waldurFor Keycloak DB:
1cat keycloak_upgrade_backup.sql | docker exec -i keycloak-db psql -U keycloak -
Create SCRAM tokens (for PostgreSQL 14+)
If the new PostgreSQL version is 14 or later, create SCRAM tokens for existing users:
1 2 3 4
export $(cat .env | grep "^POSTGRESQL_PASSWORD=" | xargs) docker exec -it waldur-db psql -U waldur -c "ALTER USER waldur WITH PASSWORD '${POSTGRESQL_PASSWORD}';" export $(cat .env | grep "^KEYCLOAK_POSTGRESQL_PASSWORD=" | xargs) docker exec -it keycloak-db psql -U keycloak -c "ALTER USER keycloak WITH PASSWORD '${KEYCLOAK_POSTGRESQL_PASSWORD}';" -
Start all containers
1docker compose up -d -
Verify the Upgrade
Verify the containers are running with the new PostgreSQL version:
1docker ps -aCheck container logs for errors:
1 2
docker logs waldur-db docker logs keycloak-db
Using TLS
This setup supports following types of SSL certificates:
- Email - set environment variable TLS to your email to register Let's Encrypt account and get free automatic SSL certificates.
Example:
1 | |
- Internal - set environment variable TLS to "internal" to generate self-signed certificates for dev environments
Example:
1 | |
- Custom - set environment variable TLS to "cert.pem key.pem" where cert.pem and key.pem - are paths to your custom certificates (this needs modifying docker-compose with path to your certificates passed as volumes)
Example:
1 | |
Custom Caddy configuration files
To add additional caddy config snippets into the caddy virtual host configuration add .conf files to config/caddy-includes/
Keycloak
Keycloak is an Identity and Access Management software bundled with waldur-docker-compose.
To create a keycloak admin account set KEYCLOAK_ADMIN env variable in docker-compose.yaml and KEYCLOAK_ADMIN_PASSWORD in .env file.
After this, you can login to the admin interface at https://localhost/auth/admin and create Waldur users.
To use Keycloak as an identity provider within Waldur, follow the instruction here. The discovery url to connect to Keycloak from the waldur-mastermind-api container is:
1 | |
Integration with SLURM
The integration is described here.
Whitelabeling settings
To set up whitelabeling, you need to define settings in ./config/waldur-mastermind/whitelabeling.yaml.
You can see the list of all whitelabeling options below.
General whitelabeling settings
- site_name
- site_address
- site_email
- site_phone
- short_page_title
- full_page_title
- brand_color
- hero_link_label
- hero_link_url
- site_description
- currency_name
- docs_url
- support_portal_url
Logos and images of whitelabeling
The path to a logo is constructed like so: /etc/waldur/icons - is a path in the container (Keep it like it is) + the name of the logo file from config/whitelabeling directory.
All-together /etc/waldur/icons/file_name_from_whitelabeling_directory
- powered_by_logo
- hero_image
- sidebar_logo
- sidebar_logo_mobile
- site_logo
- login_logo
- favicon
Readonly PostgreSQL user configuration
In order to enable /api/query/ endpoint please make sure that read-only user is configured both in PostgreSQL and in the environment variables.
1. Create PostgreSQL readonly user
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
2. Configure environment variables
Add the following environment variables to your .env file:
1 2 | |
Note: Replace {readonly_password} with the actual password you used when creating the readonly user, and {readonly_username} with your chosen readonly username (e.g., "readonly").
Migration from bitnami/postgresql to library/postgres DB image
After migration from the bitnami/postgresql to library/postgres DB image, you might notice a working in logs like this:
1 2 3 4 | |
In this case, you can simply update the collaction version and reindex the Waldur DB and the public schema:
1 2 3 4 5 6 7 8 9 | |
Ended: Docker compose
Helm ↵
Waldur Helm
Waldur is a platform for creating hybrid cloud solutions. It allows building enterprise-grade systems and providing self-service environment for the end-users.
Introduction
This chart bootstraps a Waldur deployment on a Kubernetes cluster using the Helm package manager.
Installing prerequisites
- Install Kubernetes server, for example, using minikube
- Install Kubernetes client, i.e. kubectl
- Install Helm
Installing the chart
-
Add the Waldur Helm repository
1helm repo add waldur-charts https://waldur.github.io/waldur-helm/ -
Install dependencies or enable them in Helm values
2.1. Quick setup:
1 2 3 4 5 6 7 8 9 | |
2.2. Advanced setup of dependencies Setup database using one of: - Simple PostgreSQL DB: instructions or - PostgreSQL HA DB: instructions or - Integrate with external DB: instructions
1 | |
-
Install the Helm chart
1helm install my-waldur waldur-charts/waldur -f path/to/values.yml
NB After this command, Waldur release will run in default namespace.
Please, pay attention in which namespace which release is running.
For instance, you can install Waldur release
in test namespace in the following way:
-
Create
testnamespace:1kubectl create namespace test -
Install release:
1helm install waldur waldur-charts/waldur --namespace test
However, postgresql release and waldur should be installed in the same namespace in order to share a common secret with DB credentials.
Adding admin user
Open waldur-mastermind-worker shell and execute the following command:
-
Get waldur-mastermind-worker pod name
1 2 3
# Example: kubectl get pods -A | grep waldur-mastermind-worker # --> # default waldur-mastermind-worker-6d98cd98bd-wps8n 1/1 Running 0 9m9s -
Connect to pod via shell
1 2
# Example: kubectl exec -it deployment/waldur-mastermind-worker -- /bin/bash -
Execute command to add admin user
1waldur createstaffuser -u user -p password -e admin@example.com
Waldur Helm chart release upgrading
Delete init-whitelabeling job (if exists):
1 | |
Delete load features job (if exists):
1 | |
Upgrade Waldur dependencies and release:
1 2 | |
Restart deployments to apply configmaps changes:
1 2 3 4 | |
Private registry setup
A user can use private registry for Docker images.
For this, the corresponding credentials should be registered in a secret,
name of which should be placed in .Values.imagePullSecrets.
A secret can be created trough CLI.
Configuration docs
Configuration documentation: index
Docs ↵
Waldur Helm chart configuration
Outline:
Database Configuration
-
Production: PostgreSQL Operators (CloudNativePG & Zalando) ⭐ Recommended
-
Production: External DB Integration
-
Demo/Dev: PostgreSQL (Bitnami)
-
Demo/Dev: PostgreSQL HA (Bitnami)
Message Queue Configuration
-
Production: RabbitMQ Operator ⭐ Recommended
-
Demo/Dev: RabbitMQ (Bitnami)
Additional Services
Configuration & Deployment
Waldur Components Architecture
Overview
Waldur is a cloud marketplace platform deployed on Kubernetes. This document describes the main components launched by the Waldur Helm chart, their roles, and how they interact with each other.
High-Level Architecture
graph TB
subgraph External["External Users"]
User["Users/Browsers"]
API["API Clients"]
end
subgraph Ingress["Ingress Layer"]
ING["Ingress Controller"]
end
subgraph Frontend["Frontend Layer"]
HP["Homeport<br/>(React UI)"]
end
subgraph Backend["Backend Services"]
MAPI["Mastermind API<br/>(Django REST)"]
MW["Mastermind Worker<br/>(Celery Workers)"]
MB["Mastermind Beat<br/>(Celery Scheduler)"]
end
subgraph Optional["Optional Services"]
ME["Metrics Exporter<br/>(Prometheus)"]
UVK["UVK Everypay<br/>(Payment Gateway)"]
end
subgraph Data["Data Layer"]
PG["PostgreSQL<br/>(Database)"]
RMQ["RabbitMQ<br/>(Message Broker)"]
end
User --> ING
API --> ING
ING --> HP
ING --> MAPI
ING --> UVK
HP --> MAPI
MAPI --> PG
MW --> PG
MB --> PG
MAPI --> RMQ
MW --> RMQ
MB --> RMQ
ME --> MAPI
UVK --> MAPI
style HP fill:#e1f5fe
style MAPI fill:#c8e6c9
style MW fill:#c8e6c9
style MB fill:#c8e6c9
style PG fill:#fff3e0
style RMQ fill:#fff3e0
style ME fill:#f3e5f5
style UVK fill:#f3e5f5
Core Components
| Deployment | Purpose |
|---|---|
waldur-homeport |
React-based frontend UI for the cloud marketplace |
waldur-mastermind-api |
Django REST API backend handling all API requests, authentication, and resource orchestration |
waldur-mastermind-worker |
Celery workers processing background tasks, provisioning, and long-running operations |
waldur-mastermind-beat |
Celery scheduler managing periodic tasks, cleanup operations, and recurring jobs |
Optional Components
5. Metrics Exporter
Deployment: waldur-metrics-exporter
Container: Prometheus metrics exporter
Enabled by: waldur.metricsExporter.enabled
-
Responsibilities:
-
Exposes Waldur metrics in Prometheus format
-
Provides monitoring data
-
Integrates with monitoring stack
-
Configuration:
-
Requires API token for authentication
-
Exposes metrics on port 8080
6. UVK Everypay Integration
Deployment: waldur-uvk-everypay
Container: Payment gateway integration
Enabled by: waldur.uvkEverypay.enabled
-
Components:
-
Main container: UVK payment processor
-
Sidecar container: HTTP API bridge
-
Responsibilities:
-
Processes payments through Everypay
-
Integrates with Azure AD
-
Handles payment notifications
-
Email notifications for transactions
Dependencies
PostgreSQL Database
Chart: Bitnami PostgreSQL v16.7.26
Enabled by: postgresql.enabled
Images: Uses bitnamilegacy Docker images for compatibility
Environment: Demo/Development only
⚠️ Production Recommendation: Use CloudNativePG Operator for production deployments
-
Options:
-
Simple PostgreSQL deployment
-
PostgreSQL HA deployment (using
postgresqlha.enabled) -
External database configuration
-
Production: CloudNativePG operator with automated failover
-
Purpose:
-
Primary data storage
-
User accounts and permissions
-
Resource state management
-
Billing and accounting data
-
Audit logs
RabbitMQ Message Broker
Chart: Bitnami RabbitMQ v16.0.13
Enabled by: rabbitmq.enabled
Images: Uses bitnamilegacy Docker images for compatibility
Environment: Demo/Development only
⚠️ Production Recommendation: Use RabbitMQ Cluster Operator for production deployments
-
Purpose:
-
Message queue for Celery
-
Task distribution to workers
-
Asynchronous communication
-
Event-driven architecture support
Scheduled Tasks (CronJobs)
graph LR
subgraph CronJobs["Scheduled Tasks"]
BK["Database Backup<br/>(Daily)"]
BR["Backup Rotation<br/>(Weekly)"]
CL["Session Cleanup<br/>(Daily)"]
SM["SAML2 Sync<br/>(Configurable)"]
end
subgraph Targets["Target Systems"]
DB[(PostgreSQL)]
S3[Object Storage]
IDP[Identity Provider]
end
BK --> DB
BK --> S3
BR --> S3
CL --> DB
SM --> IDP
style BK fill:#fce4ec
style BR fill:#fce4ec
style CL fill:#fce4ec
style SM fill:#fce4ec
Database Backup
CronJob: cronjob-waldur-db-backup.yaml
Schedule: Daily (configurable)
-
Creates PostgreSQL dumps
-
Uploads to object storage
-
Configurable retention
Backup Rotation
CronJob: cronjob-waldur-db-backup-rotation.yaml
Schedule: Weekly (configurable)
-
Manages backup retention
-
Removes old backups
-
Maintains backup history
Session Cleanup
CronJob: cronjob-waldur-cleanup.yaml
Schedule: Daily
-
Cleans expired sessions
-
Removes old audit logs
-
Database maintenance tasks
SAML2 Metadata Sync
CronJob: cronjob-waldur-saml2-metadata-sync.yaml
Schedule: Configurable
-
Synchronizes SAML2 metadata
-
Updates identity provider configurations
-
Maintains SSO configurations
Data Flow
sequenceDiagram
participant U as User
participant H as Homeport
participant A as API
participant W as Worker
participant Q as RabbitMQ
participant D as Database
participant E as External Service
U->>H: Access UI
H->>A: API Request
A->>D: Check Permissions
D->>A: Return Data
A->>Q: Queue Task
Q->>W: Deliver Task
W->>E: Provision Resource
E->>W: Return Status
W->>D: Update Status
W->>Q: Task Complete
A->>H: Return Response
H->>U: Display Result
Service Communication
Internal Services
-
waldur-mastermind-api: ClusterIP service on port 80
-
waldur-homeport: ClusterIP service on port 80
-
waldur-metrics-exporter: ClusterIP service on port 8080
-
waldur-uvk-everypay: ClusterIP service on port 8000
External Access
-
Ingress controller routes traffic to services
-
TLS termination at ingress level
-
Support for multiple hostnames per service
Configuration Management
ConfigMaps
-
api-override-config: Django settings overrides
-
api-celery-config: Celery configuration
-
mastermind-config-features-json: Feature flags
-
mastermind-config-auth-yaml: Authentication settings
-
mastermind-config-permissions-override-yaml: Permission overrides
-
icons-config: Custom icons and branding
Secrets
-
waldur-secret: Database credentials, API tokens
-
waldur-saml2-secret: SAML2 certificates
-
waldur-valimo-secret: Valimo authentication certificates
-
waldur-ssh-key-config: SSH private keys
-
waldur-script-kubeconfig: Kubernetes config for script execution
High Availability Considerations
-
API Layer:
-
Supports multiple replicas
- Horizontal Pod Autoscaling available
-
Load balanced through service
-
Worker Layer:
-
Horizontally scalable
- Multiple workers can process tasks in parallel
-
HPA support for automatic scaling
-
Beat Scheduler:
-
Single instance only (by design)
-
Handles scheduling, not processing
-
Database:
-
PostgreSQL HA option available
- Supports external managed databases
-
Regular backup strategy
-
Message Queue:
-
RabbitMQ clustering supported
- External message broker option
External DB Integration
Waldur Helm can use an external PostgreSQL deployed within the same Kubernetes cluster using PostgreSQL operators.
Supported PostgreSQL Operators
For production deployments, see the comprehensive PostgreSQL Operators documentation which covers:
-
CloudNativePG ⭐ Recommended for new deployments
-
Zalando PostgreSQL Operator For existing deployments or specific use cases
Configuration Variables
To use external PostgreSQL, set the following variables in values.yaml:
-
externalDB.enabled- toggler for integration; requirespostgresql.enabledandpostgresqlha.enabledto befalse -
externalDB.secretName- name of the secret with PostgreSQL credentials for Waldur user -
externalDB.serviceName- name of the service linked to PostgreSQL primary/master -
externalDB.database- custom database name (optional, defaults to "waldur") -
externalDB.username- custom username (optional, defaults to "waldur")
CloudNativePG Integration Example
For CloudNativePG clusters, use this configuration:
1 2 3 4 5 6 | |
CloudNativePG Secret Management: CloudNativePG automatically creates secrets with predictable naming:
-
[cluster-name]-app- Application credentials (recommended for Waldur) -
[cluster-name]-superuser- Administrative credentials (disabled by default)
Each secret contains username, password, database name, host, port, and connection URIs.
Note: Replace waldur-postgres with your actual CloudNativePG cluster name. See the PostgreSQL Operators guide for complete setup instructions.
Zalando Integration Example
Zalando-managed PostgreSQL cluster example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
Then configure Waldur to use this cluster:
1 2 3 4 5 6 | |
Backup setup
Enable backups for a cluster with the following addition to a manifest file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | |
You also need to create a secret file with the credentials for the storage:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Trigger a base backup manually
Connect to the leader PSQL pod and execute the following commands:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Restore DB from backup
The preferable option is creation a new instance of PostgreSQL cluster cloning data from the original one.
For this, create a manifest with the following content:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | |
Then, apply the manifest to the cluster, change externalDB.{secretName, serviceName} after DB bootstrap and upgrade Waldur release.
Migration Recommendations
For New Deployments
-
Use CloudNativePG for modern Kubernetes-native PostgreSQL management
-
Follow the PostgreSQL Operators guide for complete setup
For Existing Zalando Deployments
-
Continue using Zalando if stable and meeting requirements
-
Consider migration to CloudNativePG for long-term benefits:
-
Active development and community support
-
Modern Kubernetes-native architecture
-
Enhanced monitoring and backup capabilities
-
Better integration with cloud-native ecosystem
Migration Process
-
Backup existing data using
pg_dump -
Deploy new operator cluster (CloudNativePG or updated Zalando)
-
Restore data using
pg_restore -
Update Waldur configuration to use new cluster
-
Test thoroughly before decommissioning old cluster
Support and Documentation
-
CloudNativePG: PostgreSQL Operators documentation
-
Zalando Operator: Official Zalando docs
-
General guidance: Both operators are covered in the PostgreSQL Operators guide
Official documentation
Documentation of installation link: Helm
Installing Helm
- Download and install Helm
1 2 3 | |
- Check the version
1 | |
Host aliasing
You can specify additional hosts for Waldur containers in the same manner as the /etc/hosts file using host aliasing. To create aliases, a user needs to modify the hostAliases variable in waldur/values.yaml file. Example:
1 2 3 4 5 6 7 | |
This will add a record for my.host.example.com to the /etc/hosts file of all the Waldur containers
HPA setup and configuration
It is possible to use cpu-utilization-based HPA
for API server (aka waldur-mastermind-api) and
Celery executor (aka waldur-mastermind-worker and waldur-mastermind-beat) pods.
Setup
If you use minikube, you need to enable metrics-server using next command:
minikube addons enable metrics-server
Configuration
In values.yaml file you can configure HPA for:
-
API server (
hpa.apiprefix):1.1
enabled- flag for enabling HPA. Possible values:truefor enabling andfalsefor disabling.1.2
resources- custom resources for server.requests.cpuparam is mandatory for proper HPA work.1.3
cpuUtilizationBorder- border percentage of average CPU utilization per pod for deployment. -
Celery (
hpa.celeryprefix):2.1
enabled- flag for enabling HPA, the same possible values as for API server.2.2
workerResources- custom resources for celery worker.requests.cpuparam is mandatory for proper HPA work.2.3
beatResources- custom resources for celery beat.requests.cpuparam is mandatory for proper HPA work.2.4
cpuUtilizationBorder- border percentage of average CPU utilization per pod for deployment.
Limiting network access to Mastermind APIs
Waldur Helm allows limiting network access to Mastermind API endpoints - i.e. /api/, /api-auth/, /admin/ - based on whitelisting the subnets from where access is allowed. To define a list of allowed subnets in CIDR format for the all the API endpoint, please use ingress.whitelistSourceRange option in values.yaml. Example:
1 2 3 4 | |
Given this value, only IPs from 192.168.22.0/24 subnet are able to access Waldur Mastermind APIs.
In case you want to limit access to /api/admin/ endpoint specifically, there is another option called ingress.whitelistSourceRangeAdmin:
1 2 3 4 | |
This will limit access to the admin endpoint only for 192.168.22.1 IP. Note: The whitelistSourceRangeAdmin option takes precedence over whitelistSourceRange.
In case of multiple subnets/IPs, comma separated list can be used as a value. E.g.: 192.168.22.1/32,192.168.21.0/24. This works for both options.
Official documentation
Documentation of installation link: doc
Installing kubectl
- Download and install latest kubectl
1 | |
- Add executable mode for kubectl
1 | |
- Move kubectl binary into your PATH
1 | |
- Check the version
1 | |
- Show running Pods in cluster
1 2 3 4 5 6 7 8 9 10 11 | |
Waldur Marketplace script plugin setup
Available options in values.yaml:
-
waldur.marketplace.script.enabled- enable/disable plugin -
waldur.marketplace.script.dockerImages- key-value structure, where key is a programming language and value - a corresponding docker image tag -
waldur.marketplace.script.k8sNamespace- Kubernetes namespace, where jobs will be executed; default:default -
waldur.marketplace.script.kubeconfigPath- path to local file with kubeconfig content -
waldur.marketplace.script.kubeconfig- kubeconfig file content takes precedence over.kubeconfigPathoption -
waldur.marketplace.script.jobTimeout- timeout for Kubernetes jobs
Mastermind templates configuration
If you want to configure custom mastermind templates, you should:
-
Setup
waldur.mastermindTemplating.mastermindTemplatesPathin values.yaml (by default, it is equal to
mastermind_templates/mastermind-templates.yaml). Alternatively, you can usewaldur.mastermindTemplating.mastermindTemplatescontaining.yamlfile strings to get rid of file usage. -
Put all the custom templates into the file in a following way:
NB: The keys in the file should have <waldur_application_name>/<event_name>_<postfix>.<extension>, where <postfix> can be either message or subject, and <extension> - either txt or html
1 2 3 4 5 | |
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Migration from Postgresql HA
Plan:
-
Scale api, beat, worker -> 0
-
Backup — using backup job
-
group_vars/puhuri_core_prd - helm_pg_ha_enabled: no ===> CANCEL THE UPDATING PIPELINE!
-
Run dependency update ==> leads to a working single psql
-
Restore DB — using recovery job
-
Run a common update pipeline
-
Validate that login works
-
Drop old psql ha, drop pvc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Official documentation
Documentation of installation link: doc
Installing minikub
-
Download and install minikube
-
For Debial/Ubuntu:
1 2 | |
- For Fedora/Red Hat
1 2 | |
- Others (direct installation)
1 2 | |
- Set docker as a default driver
1 2 3 | |
- Start local kubernetes cluster
1 2 3 4 5 6 7 | |
PostgreSQL backup configuration
There are the following jobs for backups management:
-
CronJob for backups creation (running by a schedule
postgresBackup.schedule) -
CronJob for backups rotation (running by a schedule
postgresBackup.rotationSchedule)
Backup configuration values (postgresBackup prefix):
-
enabled- boolean flag for enabling/disabling backups -
schedule- cron-like schedule for backups -
rotationSchedule- cron-like schedule for backups rotation -
maxNumber- maximum number of backups to store -
image- Docker image containingpotgresandminio(client) binaries
(opennode/postgres-minio by default)
Backups restoration
To restore backups you need to connect to the restoration pod. The major prerequisite for this is stopping the Waldur backend pods to avoid errors. NB: During restoration process, the site will be unavailable. For this, please execute the following lines in the Kubernetes node:
1 2 3 4 5 6 7 8 9 10 11 | |
This will give you access to a terminal of a restoration pod. In this shell, please, execute the command:
1 | |
This will print the recent 5 backups available for restoration. Example:
1 2 3 4 5 6 7 8 9 10 11 | |
As you can see, the backup name contains the date and time when it was created in YYYY-mm-dd-HH-MM format. You can freely choose the one you need.
1 2 3 4 5 6 7 8 9 10 | |
Restoration from external backup
If you want to use a pre-created backup from an external system, copy the backup file:
-
Copy the backup file to your local machine
-
Copy the file to pod
1 2
export RESTORATION_POD_NAME=$(kubectl get pods --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' | grep restore) kubectl cp <BACKUP_FILE> $RESTORATION_POD_NAME:/tmp/backup.sql.gz -
Connect to pod's terminal
1kubectl exec -it $RESTORATION_POD_NAME -- bash -
Apply the backup
1 2 3 4 5 6 7
gzip -d /tmp/backup.sql.gz # Be careful: the next lines have potentially danger operations psql -d postgres -c "SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'waldur' AND pid <> pg_backend_pid();" psql -d postgres -c 'DROP DATABASE waldur;' createdb waldur psql -f /tmp/backup.sql rm /tmp/backup.sql
PostgreSQL HA Configuration
Production vs Demo Deployments
⚠️ Important: This document describes PostgreSQL HA setup for demo/development environments only.
For production deployments, use the CloudNativePG Operator instead of the Bitnami HA chart. The operator provides:
-
True Kubernetes-native high availability
-
Automated failover with zero data loss
-
Built-in streaming replication
-
Comprehensive backup and recovery
-
Superior monitoring and observability
-
Production-grade security and networking
Demo/Development HA Installation
For development and demo environments requiring basic HA, bitnami/postgresql-ha can be used for quick setup.
Demo HA Installation
Add bitnami repo to helm:
1 | |
Install PostgreSQL HA release for demo/development:
1 2 | |
Note:
-
The default configuration in
postgresql-ha-values.yamlusesbitnamilegacyDocker images for compatibility -
This setup provides basic HA but is not recommended for production use
NB: the value postgresqlha.enabled for waldur release must be true.
Chart configuration
You can change default PostgreSQL config with
the following variables in values.yaml (postgresql-ha-values.yaml file):
-
postgresql.database- name of a database.NB: must match
postgresqlha.postgresql.databasevalue inwaldur/values.yaml -
postgresql.username- name of a database user.NB: must match
postgresqlha.postgresql.usernamevalue inwaldur/values.yaml -
postgresql.password- password of a database user -
postgresql.replicaCount- number of db replicas -
postgresql.repmgrPassword- password ofrepmgruser -
persistence.size- size of a database (for each replica) -
pgpool.image.tag- tag ofPgpoolimage.Possible tags for default image can be found here
-
postgresql.image.tag- tag ofPostgreSQLimage.Possible tags for default image can be found here
More information related to possible values here.
Important:
-
The PostgreSQL HA configuration uses legacy Bitnami images (
bitnamilegacy/postgresql-repmgrandbitnamilegacy/pgpool) for demo/development compatibility -
These images are configured in the
postgresql-ha-values.yamlfile -
For production deployments, migrate to the CloudNativePG Operator which provides superior HA capabilities
Demo HA Dependency Installation
Waldur Helm chart supports PostgreSQL HA installation as a dependency.
For this, set postgresqlha.enabled to true and update related settings in postgresqlha section in waldur/values.yaml
NB: the value postgresql.enabled and externalDB.enabled must be false.
Prior Waldur installation, update chart dependencies:
1 | |
PostgreSQL Configuration
Production vs Demo Deployments
⚠️ Important: This document describes PostgreSQL setup for demo/development environments only.
For production deployments, use the CloudNativePG Operator instead of the Bitnami Helm chart. The operator provides:
-
Kubernetes-native PostgreSQL cluster management
-
Automated failover and high availability
-
Built-in backup and Point-in-Time Recovery (PITR)
-
Zero-downtime maintenance operations
-
Enhanced monitoring and observability
-
Production-grade security features
Demo/Development Installation
For development and demo environments, bitnami/postgresql chart can be used for quick setup.
Demo Standalone Installation
Add bitnami repo to helm:
1 | |
Install PostgreSQL release for demo/development:
1 | |
Note:
-
The default configuration in
postgresql-values.yamlusesbitnamilegacyDocker images for compatibility -
This setup is not recommended for production use
NB: the values postgresql.enabled and postgresqlha.enabled must be false.
Chart configuration
You can change default PostgreSQL config with the following variables in postgresql-values.yaml:
-
auth.database- name of a database.NB: must match
postgresql.databasevalue inwaldur/values.yaml -
auth.username- name of a database user.NB: must match
postgresql.usernamevalue inwaldur/values.yaml -
auth.password- password of a database user -
primary.persistence.size- size of a database -
image.tag- tag ofPostgreSQLimage.Possible tags for default image can be found here
-
image.registry- registry ofPostgreSQLimage.
More information related to possible values here.
Important:
-
The PostgreSQL configuration uses legacy Bitnami images (
bitnamilegacy/postgresqlandbitnamilegacy/postgres-exporter) for demo/development compatibility -
These images are configured in the
postgresql-values.yamlfile -
For production deployments, migrate to the CloudNativePG Operator
Demo Dependency Installation
Waldur Helm chart supports PostgreSQL installation as a dependency.
For this, set postgresql.enabled to true and update related settings in postgresql section in waldur/values.yaml
NB: the value postgresqlha.enabled and externalDB.enabled must be false.
Prior Waldur installation, update chart dependencies:
1 | |
Readonly user configuration
In order to enable /api/query/ endpoint please make sure that read-only user is configured.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
PostgreSQL Operators (Production)
For production deployments, it is strongly recommended to use a PostgreSQL operator instead of the Bitnami Helm charts. This document covers two production-ready options:
-
CloudNativePG (Recommended for new deployments)
-
Zalando PostgreSQL Operator (For existing deployments or specific use cases)
Operator Selection Guide
CloudNativePG ⭐ Recommended for New Deployments
Best for:
-
New production deployments
-
Modern Kubernetes-native environments
-
Teams wanting the latest PostgreSQL features
-
Organizations requiring active development and community support
Pros:
-
Most popular PostgreSQL operator in 2024 (27.6% market share)
-
Active development and community
-
Modern Kubernetes-native architecture
-
Comprehensive backup and recovery with Barman
-
Built-in monitoring and observability
-
Strong enterprise backing from EDB
Zalando PostgreSQL Operator
Best for:
-
Existing deployments already using Zalando
-
Teams with specific Patroni requirements
-
Multi-tenant environments
-
Organizations comfortable with stable but less actively developed tools
Pros:
-
Battle-tested in production environments
-
Built on proven Patroni technology
-
Excellent multi-tenancy support
-
Mature and stable codebase
Considerations:
-
Limited active development since 2021
-
May lag behind in supporting latest PostgreSQL versions
-
Less community engagement compared to CloudNativePG
Option 1: CloudNativePG (Recommended)
Overview
CloudNativePG provides:
-
Kubernetes-native PostgreSQL cluster management
-
Automated failover and self-healing capabilities
-
Built-in streaming replication and high availability
-
Continuous backup with Point-in-Time Recovery (PITR)
-
Integrated monitoring with Prometheus
-
Zero-downtime maintenance operations
-
Multi-cloud and hybrid cloud support
Prerequisites
-
Kubernetes cluster version 1.25 or above
-
Configured
kubectlaccess -
Appropriate RBAC permissions
-
Storage class with persistent volume support
Installation
1. Install CloudNativePG Operator
1 2 3 | |
Verify the operator is running:
1 | |
2. Create a Production PostgreSQL Cluster
Create a production-ready PostgreSQL cluster configuration:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | |
3. Create Required Secrets
Create database credentials:
1 2 3 4 5 6 7 8 | |
Create backup credentials (for S3-compatible storage):
1 2 3 4 5 6 7 8 | |
Apply the configurations:
1 2 3 | |
Configuration for Waldur
1. Retrieve Connection Information
The operator automatically creates services for the cluster:
-
Read-Write Service:
waldur-postgres-rw(primary database) -
Read-Only Service:
waldur-postgres-ro(replica databases) -
PgBouncer Service:
waldur-postgres-pooler-rw(connection pooler)
2. Configure Waldur Helm Values
Update your Waldur values.yaml:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
High Availability Features
Automatic Failover
CloudNativePG provides automatic failover:
-
Monitors primary instance health
-
Automatically promotes replica to primary on failure
-
Updates service endpoints automatically
-
Zero-data-loss failover with synchronous replication
Replica Configuration
For read scaling and high availability:
1 2 3 4 5 6 7 8 | |
Backup and Recovery
Scheduled Backups
Create a scheduled backup:
1 2 3 4 5 6 7 8 9 | |
Manual Backup
Trigger a manual backup:
1 | |
Point-in-Time Recovery
Create a new cluster from a specific point in time:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Monitoring and Observability
Prometheus Integration
The operator exports metrics automatically. Access them via:
-
Metrics endpoint:
<http://waldur-postgres-any:9187/metrics> -
Custom metrics: Can be configured via SQL queries
Grafana Dashboard
Import the official CloudNativePG Grafana dashboard:
- Dashboard ID:
20417(CloudNativePG Dashboard)
Health Checks
Monitor cluster health:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Scaling Operations
Horizontal Scaling
Scale replicas:
1 2 3 4 5 6 7 | |
Vertical Scaling
Update resources:
1 | |
Maintenance Operations
PostgreSQL Major Version Upgrade
Update the PostgreSQL version:
1 2 3 4 5 | |
Operator Upgrade
Upgrade the operator:
1 | |
Security Configuration
TLS Encryption
Enable TLS for client connections:
1 2 3 4 5 6 | |
Network Policies
Restrict database access:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | |
Troubleshooting
Common Commands
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Performance Monitoring
1 2 3 4 5 6 7 8 9 10 11 | |
Migration from Bitnami Chart
To migrate from the Bitnami PostgreSQL chart:
-
Backup existing data using
pg_dump -
Deploy CloudNativePG cluster with new name
-
Restore data using
pg_restore -
Update Waldur configuration to use new cluster
-
Test thoroughly before decommissioning old setup
Example migration script:
1 2 3 4 5 6 7 | |
Performance Tuning
Database Optimization
For high-performance scenarios:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Connection Pooling Optimization
1 2 3 4 5 6 7 8 9 10 11 12 | |
Support and Documentation
-
Official Documentation: https://cloudnative-pg.io/documentation/
-
GitHub Repository: https://github.com/cloudnative-pg/cloudnative-pg
-
Community Slack: #cloudnativepg on Kubernetes Slack
-
Tutorials: https://cloudnative-pg.io/documentation/current/tutorial/
-
Best Practices: https://cloudnative-pg.io/documentation/current/appendices/
Option 2: Zalando PostgreSQL Operator
Overview
The Zalando PostgreSQL operator is a mature, battle-tested solution built on Patroni technology. It provides automated PostgreSQL cluster management with proven stability in production environments.
Key Features:
-
Built on Patroni for high availability
-
Multi-tenant optimized
-
Proven production reliability
-
Manifest-based configuration
-
Integration with existing Zalando tooling
Current Status (2024):
-
Stable and mature codebase
-
Limited active development since 2021
-
Suitable for existing deployments and specific use cases
Prerequisites
-
Kubernetes cluster version 1.16 or above
-
Configured
kubectlaccess -
Appropriate RBAC permissions
Installation
1. Install Zalando PostgreSQL Operator
1 2 3 4 5 6 7 8 | |
Or using Helm:
1 2 3 4 5 6 7 | |
Verify the operator is running:
1 | |
2. Create a Production PostgreSQL Cluster
Create a production-ready PostgreSQL cluster:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | |
3. Create Required Secrets
Create backup credentials:
1 2 3 4 5 6 7 8 9 10 | |
Apply the configurations:
1 2 | |
Configuration for Waldur
1. Retrieve Connection Information
The Zalando operator creates services with specific naming:
-
Master Service:
waldur-postgres-zalando(read-write) -
Replica Service:
waldur-postgres-zalando-repl(read-only) -
Connection Pooler:
waldur-postgres-zalando-pooler(if enabled)
Get the credentials from the generated secret:
1 2 3 4 5 6 7 | |
2. Configure Waldur Helm Values
Update your Waldur values.yaml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
High Availability Features
Automatic Failover
Zalando operator uses Patroni for automatic failover:
-
Continuous health monitoring of PostgreSQL instances
-
Automatic promotion of replicas on primary failure
-
Distributed consensus for leader election
-
Minimal downtime during failover scenarios
Zalando Scaling Operations
Scale the cluster:
1 | |
Backup and Recovery
Manual Backup
Trigger a manual backup:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Point-in-Time Recovery
Create a new cluster from backup:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | |
Monitoring
Prometheus Integration
Enable monitoring by adding sidecars:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Health Checks
Monitor cluster status:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Maintenance Operations
PostgreSQL Version Upgrade
Update PostgreSQL version:
1 2 3 | |
Note: Major version upgrades may require manual intervention and testing.
Operator Upgrade
Update the operator:
1 | |
Troubleshooting
Common Commands
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Common Issues
-
Cluster not starting: Check resource limits and storage class
-
Backup failures: Verify S3 credentials and permissions
-
Connection issues: Check service names and network policies
-
Failover issues: Review Patroni logs and cluster configuration
Migration Between Operators
From Zalando to CloudNativePG
-
Backup data from Zalando cluster using
pg_dump -
Deploy CloudNativePG cluster
-
Restore data using
pg_restore -
Update Waldur configuration
-
Decommission Zalando cluster after verification
From CloudNativePG to Zalando
Similar process but with attention to:
-
Different backup formats and restore procedures
-
Configuration parameter mapping
-
Service naming conventions
Support and Documentation
-
Official Documentation: https://postgres-operator.readthedocs.io/
-
GitHub Repository: https://github.com/zalando/postgres-operator
-
Patroni Documentation: https://patroni.readthedocs.io/
-
Community: GitHub Issues and Discussions
Comparison Summary
| Feature | CloudNativePG | Zalando Operator |
|---|---|---|
| Development Status | ✅ Active (2024) | ⚠️ Maintenance mode |
| Community | ✅ Growing rapidly | ⚠️ Established but less active |
| Kubernetes Native | ✅ True Kubernetes-native | ⚠️ Patroni-based |
| Backup/Recovery | ✅ Barman integration | ✅ WAL-G/WAL-E |
| Monitoring | ✅ Built-in Prometheus | ⚠️ Requires sidecars |
| Multi-tenancy | ⚠️ Basic | ✅ Excellent |
| Production Readiness | ✅ Proven and growing | ✅ Battle-tested |
| Learning Curve | ✅ Moderate | ⚠️ Steeper (Patroni knowledge) |
| Enterprise Support | ✅ EDB backing | ⚠️ Community only |
Recommendation
-
New deployments: Choose CloudNativePG for modern Kubernetes-native architecture and active development
-
Existing Zalando deployments: Continue with Zalando if stable, consider migration planning for long-term
-
Multi-tenant requirements: Zalando may be better suited
-
Latest PostgreSQL features: CloudNativePG provides faster adoption
Proxy setup for Waldur components
You can setup the proxy environment variables https_proxy, http_proxy and no_proxy for Waldur component containers.
For this, please set values for the proxy.httpsProxy, proxy.httpProxy and proxy.noProxy variables in waldur/values.yaml file.
Example:
1 2 3 4 | |
Note: you can set variables separately, i.e. leave some of them blank:
1 2 3 4 | |
In the previous example, the https_proxy env variable won't be present in the containers.
RabbitMQ Cluster Operator (Production)
For production deployments, it is strongly recommended to use the official RabbitMQ Cluster Kubernetes Operator instead of the Bitnami Helm chart. The operator provides better lifecycle management, high availability, and production-grade features.
Overview
The RabbitMQ Cluster Operator automates:
-
Provisioning and management of RabbitMQ clusters
-
Scaling and automated rolling upgrades
-
Monitoring integration with Prometheus and Grafana
-
Backup and recovery operations
-
Network policy and security configurations
Prerequisites
-
Kubernetes cluster version 1.19 or above
-
Configured
kubectlaccess -
Appropriate RBAC permissions
Installation
1. Install the RabbitMQ Cluster Operator
1 | |
Verify the operator is running:
1 | |
2. Create a Production RabbitMQ Cluster
Create a production-ready RabbitMQ cluster configuration:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | |
Apply the configuration:
1 | |
Configuration for Waldur
1. Retrieve RabbitMQ Credentials
Get the auto-generated credentials:
1 2 3 4 5 6 7 | |
2. Configure Waldur Helm Values
Update your Waldur values.yaml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
RabbitMQ Operator Secret Management:
The RabbitMQ Cluster Operator automatically creates a default user secret named [cluster-name]-default-user containing:
-
username- Auto-generated username -
password- Auto-generated password -
Other connection details
This approach avoids hardcoding credentials and follows Kubernetes security best practices.
High Availability Configuration
For production high availability, consider these additional configurations:
Pod Disruption Budget
1 2 3 4 5 6 7 8 9 | |
Network Policy (Optional)
Restrict network access to RabbitMQ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | |
Monitoring
The operator automatically enables Prometheus metrics. To access them:
-
Prometheus Metrics Endpoint:
<http://waldur-rabbitmq:15692/metrics> -
Management UI Access:
1 | |
Access at: <http://localhost:15672>
- Grafana Dashboard: Import RabbitMQ dashboard ID
10991or similar
Backup and Recovery
Automated Backup Configuration
The operator supports backup configurations through definitions:
1 2 3 4 5 6 7 | |
For production, implement external backup strategies using tools like Velero or cloud-native backup solutions.
Scaling
Scale the cluster:
1 | |
Important: Always use odd numbers for replicas (1, 3, 5, 7) to avoid split-brain scenarios.
Troubleshooting
Check Cluster Status
1 2 3 4 5 6 7 8 9 10 11 | |
View Logs
1 2 3 4 5 6 7 | |
Migration from Bitnami Chart
If migrating from the Bitnami chart:
-
Backup existing data using RabbitMQ management tools
-
Deploy the operator and create a new cluster
-
Export/import virtual hosts, users, and permissions
-
Update Waldur configuration to point to the new cluster
-
Test thoroughly before decommissioning the old setup
Security Considerations
- TLS Configuration: Enable TLS for production:
1 2 3 | |
-
Authentication: Consider integrating with LDAP or other authentication backends
-
Network Policies: Implement network policies to restrict access
-
RBAC: Ensure appropriate Kubernetes RBAC policies are in place
Performance Tuning
For high-throughput scenarios:
-
Adjust memory limits based on message volume
-
Configure disk I/O with appropriate storage classes
-
Tune RabbitMQ parameters in
additionalConfig -
Monitor resource usage and scale accordingly
Support and Documentation
-
Official Documentation: https://www.rabbitmq.com/kubernetes/operator/
-
GitHub Repository: https://github.com/rabbitmq/cluster-operator
-
Examples: https://github.com/rabbitmq/cluster-operator/tree/main/docs/examples
-
Community Support: RabbitMQ Discussions on GitHub
RabbitMQ Configuration
Production vs Demo Deployments
⚠️ Important: This document describes RabbitMQ setup for demo/development environments only.
For production deployments, use the RabbitMQ Cluster Operator instead of the Bitnami Helm chart. The operator provides:
-
Better lifecycle management and high availability
-
Production-grade monitoring and backup capabilities
-
Automatic scaling and rolling upgrades
-
Enhanced security and networking features
Demo/Development Installation
For development and demo environments, bitnami/rabbitmq can be used for quick setup.
Demo Installation
Add bitnami repo to helm:
1 | |
Install RabbitMQ release for demo/development:
1 | |
Note:
-
The default configuration in
rmq-values.yamlusesbitnamilegacyDocker images for compatibility -
This setup is not recommended for production use
Demo Configuration
You can change rabbitmq config with the following variables in rmq-values.yaml:
-
replicaCount- number RMQ instances -
persistence.enabled- enable/disable persistence -
persistence.size- size for singe PV -
persistence.storageClass- storage class for PV -
auth.username- username for RMQ user -
auth.password- password for RMQ user
For more config values, see this section
Important:
-
The RabbitMQ configuration uses legacy Bitnami images (
bitnamilegacy/rabbitmq) for demo/development compatibility -
This image is configured in the
rmq-values.yamlfile -
For production deployments, migrate to the RabbitMQ Cluster Operator
In values.yaml file, you need to setup the following vars (rabbitmq prefix):
-
auth.username- should be same asauth.usernamein thermq-values.yamlfile -
auth.password- should be same asauth.passwordin thermq-values.yamlfile -
host- rabbitmq service hostname(See this doc for details)
-
customManagementPort- custom port for rabbitmq management interface -
customAMQPPort- custom port for AMQP access
Additional Protocol Support
The chart supports additional messaging protocols beyond AMQP:
-
MQTT (port 1883) - for IoT device communication
-
STOMP (port 61613) - for simple text-based messaging
-
WebSocket variants (ports 15674, 15675) - for browser-based connections
These protocols are enabled through the extraPlugins configuration:
1 | |
Additional container and service ports are automatically configured for these protocols.
SAML2 configuration
To configure SAML2 for Waldur:
-
Enable SAML2 support in
values.yaml:add
SAML2string intowaldur.authMethodslist -
Set source directory in
waldur.saml2.dir -
Place necessary files in the directory
with the following manner (
.is the source directory root):-
sp.crt->./ -
sp.pem->./ -
saml2.conf.py->./
-
Service endpoints
For communication inside a cluster, pods use services. Usually, that needs to define internal endpoints with service URL format.
NB: It is important to set up namespace part correctly.
If not, requests can come to unexpected service, which will cause errors.
Endpoint format
Fully qualified endpoint format is:
1 | |
Where
-
<service-name>.<namespace>.svc.<cluster>- hostname of service -
<service-port>- port of service
For example:
-
hostname is
elasticsearch-master.elastic.svc.cluster.local -
service port is
9200 -
final URL is
<http://elasticsearch-master.elastic.svc.cluster.local:9200>
If pods run in the same namespace and cluster, it can be simplified to:
1 | |
For example: <http://elasticsearch-master:9200>
TLS configuration instructions
To enable tls globally please set ingress.tls.enabled=true in values.yaml
Let’s Encrypt setup
If you want to configure letsencrypt certification, you need to:
-
Set
ingress.tls.source="letsEncrypt"invalues.yaml -
Create namespace for cert-manager
1 | |
- Add repository and update repos list
1 2 | |
- Install cert-manager release
1 2 3 4 5 | |
- After that,
waldurrelease is ready for installation.
Your own certificate
In case, when you want to use own certificate, you need to:
-
Set
ingress.tls.source="secret"invalues.yaml -
Set
ingress.tls.secretsDirvariable to directorywith your
tls.crtandtls.keyfiles. By default it is set totls -
After that,
waldurrelease is ready for installation
White-labeling instructions
To setup white-labeling, you can define next variables in waldur/values.yaml file:
-
shortPageTitle- custom prefix for page title -
modePageTitle- custom page title -
loginLogoPath- path to custom.pngimage filefor login page (should be in
waldur/chart directory) -
sidebarLogoPath- path to custom.pngimage filefor sidebar header (should be in
waldur/chart directory) -
sidebarLogoDarkPath- path to custom.pngimage filefor sidebar header in dark mode (should be in
waldur/chart directory) -
poweredByLogoPath- path to custom.pngimage filefor "powered by" part of login page (should be in
waldur/chart directory) -
faviconPath- path to custom favicon.pngimage file -
tosHtmlPath- path to custom terms of service file (tos.html) -
privacyHtmlPath- path to custom privacy statement file (privacy.html) -
brandColor- Hex color definition is used in HomePort landing page for login button. -
heroImagePath- Relative path to image rendered at hero section of HomePort landing page. -
heroLinkLabel- Label for link in hero section of HomePort landing page. It can be lead to support site or blog post. -
heroLinkUrl- Link URL in hero section of HomePort landing page. -
siteDescription- text at hero section of HomePort landing page.
NB:
-
the
*Pathvalues take place only if respectful*Urlvalues are not specified.If both types are defined, the precedence is taken by
URL(*Url) for all cases. -
all of imported files must be within chart root directory
Alternatively, TOS and PP files content can be provided as multiline values in tosHtml and privacyHtml options respectfully.
If defined, they take precedence over the aforementioned ones.
Ended: Docs
Ended: Helm
Ended: Deployment
Identities ↵
LDAP
Waldur allows you to authenticate using identities from a LDAP server.
Prerequisites
- Below it is assumed that LDAP server is provided by FreeIPA. Although LDAP authentication would work with any other LDAP server as well, you may need to customize configuration for Waldur MasterMind.
- Please ensure that Waldur Mastermind API server has access to the LDAP server. By default LDAP server listens on TCP and UDP port 389, or on port 636 for LDAPS (LDAP over SSL). If this port is filtered out by firewall, you wouldn't be able to authenticate via LDAP.
- You should know LDAP server URI, for example, FreeIPA demo server has
ldap://ipa.demo1.freeipa.org. - You should know username and password of LDAP admin user. For example, FreeIPA demo server uses username=admin and password=Secret123.
Add LDAP configuration to Waldur Mastermind configuration
Example configuration is below, please adjust to your specific deployment.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | |
Configuration above is based on LDAP server exposed by FreeIPA. To make it work, there are some things that need to be verified in FreeIPA:
- Ensure that admins and support groups exist in LDAP server. You may do it using FreeIPA admin UI.

- If user is assigned to admins group in LDAP, he becomes staff in Waldur. If user is assigned to support group in LDAP, he becomes support user in Waldur. For example, consider the manager user which belong to both groups:
Field mapping
displayName attribute in LDAP is mapped to full_name attribute in Waldur.
mail field in LDAP is mapped to email attribute in Waldur.
Consider for example, the following user attributes in LDAP:
Here's how it is mapped in Waldur:
And here's how it is displayed when user initially logs into Waldur via HomePort:
MyAccessID
Waldur supports integration with MyAccessID identity service.
The MyAccessID Identity and Access Management Service is provided by GEANT with the purpose of offering a common Identity Layer for Infrastructure Service Domains (ISDs).
The AAI proxy of MyAccessID connects Identity Providers from eduGAIN, specific IdPs which are delivered in context of ISDs such as HPC IdPs, eIDAS eIDs and potentially other IdPs as requested by ISDs.
MyAccessID delivers the Discovery Service used during the user authentication process for users to choose their IdP. It enables the user to register an account in the Account Registry, to link different identities and it guarantees the uniqueness and persistence of the user identifier towards connected ISDs.
To enable MyAccessID, please register a new client for Waldur deployment and set configuration settings for MyAccessID. Check configuration guide for available settings.
Fetch user data using CUID of a user
You can use CUID of user in order to fetch user permissions from MyAccessID registry. This document describes how to perform it via Waldur shell.
TARA
Waldur supports integration with TARA authentication service.
To enable it, please register a new client for Waldur deployment and set configuration settings for TARA. Check configuration guide for available settings.
eduGAIN
Overview
eduGAIN is a global federation of identity and service providers, based technically on SAML2.
In order to allow eduGAIN users to access Waldur, there are two steps:
- Waldur deployment must be registered as a service provider in eduGAIN federation.
- Waldur must get a list of identities that are trusted for authentication.
Tip
SAML is a complicated and fragile technology. GEANT provides an alternative to direct integration of SAML - eduTEAMS, which exposes an OpenID Connect protocol for service providers.
Waldur relies on djangosaml2 for the heavylifting of SAML processing, so for fine tuning configuration, contact corresponding project documentation.
Registering Waldur as Service Provider
Add SAML configuration to Waldur Mastermind configuration
Example configuration is below, please adjust to your specific deployment. Once applied, service metadata will be
visible at Waldur deployment URL: https://waldur.example.com/api-auth/saml2/metadata/. That data needs to be
propagated to the federation operator for inclusion into the federation.
Tip
Managed ansible simplifies configuration of the eduGAIN integration and should be a preferred method for all supported deployments.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | |
Example of generated metadata
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | |
Adding trusted identity providers
In order to configure Waldur to use SAML2 authentication you should specify identity provider metadata.
- If metadata XML is stored locally, it is cached in the local SQL database. Usually metadata XML file is big, so it
is necessary to use local cache in this case. But you should ensure that metadata XML file is refreshed via cron
on a regular basis. A management command
waldur sync_saml2_providersperforms refreshing of the data. - If metadata XML is accessed remotely, it is not cached in SQL database. Therefore you should ensure that metadata
XML is small enough. In this case you should download metadata signing certificate locally and specify its path in
Waldur configuration. The certificate is used to retrieve the metadata securely. Please note that security
certificates are updated regularly, therefore you should update configuration whenever certificate is updated.
By convention, both metadata signing certificate and metadata itself are downloaded to
/etc/waldur/saml2in Waldur Mastermind instances.
References
TAAT configuration
TaaT certificates can be downloaded from: http://taat.edu.ee/main/dokumendid/sertifikaadid/.
Metadata URL for test hub is https://reos.taat.edu.ee/saml2/idp/metadata.php and for production hub is https://sarvik.taat.edu.ee/saml2/idp/metadata.php. Note, the certificate must correspond to the hub you want connect to.
Using Janus
Janus is a self-service for managing Service Provider records.
- Create a new connection:
New connection ID must be equal to the base_url in saml.conf.py + /apu-auth/saml2/metadata/
- Choose SAML 2.0 SP for connection type.
- Click Create button
- In connection tab select or create ARP. Fields that ARP include must be in the saml_attribute_mapping.
- Navigate to the Import metadata tab and paste same URL as in the first step. Click on the Get metadata.
- Navigate to the Validate tab and check whether all the tests pass. You can fix metadata in Metadata tab.
HAKA configuration
Production hub metadata is described at https://wiki.eduuni.fi/display/CSCHAKA/Haka+metadata.
Test hub metadata is described at https://wiki.eduuni.fi/display/CSCHAKA/Verifying+Haka+compatibility.
FEDI configuration
Production hub metadata is described at https://fedi.litnet.lt/en/metadata.
Discovery is supported: https://discovery.litnet.lt/simplesaml/module.php/discopower/disco.php.
eduTEAMS
Waldur supports integration with eduTEAMS identity service.
To enable it, please register a new client for Waldur deployment and set configuration settings for eduTEAMS. Check configuration guide for available settings.
Fetch user data using CUID of a user
You can use CUID of user in order to fetch user permissions. This file describes how to perform it, you only need to provide CUID as a username.
FreeIPA
Tip
For integrating FreeIPA as source of identities, please see LDAP. This module is about synchronising users from Waldur to FreeIPA
For situations when you would like to provide access to services based on the Linux usernames, e.g. for SLURM deployments, you might want to map users from Waldur (e.g. created through eduGAIN) to an external FreeIPA service.
To do that, you need to enable module and define settings for accessing FreeIPA REST APIs. See Waldur configuration guide for the list of supported FreeIPA settings.
At the moment at most one deployment of FreeIPA per Waldur is supported.
Keycloak
Waldur supports integration with Keycloak identity manager.
Below is a guide to configure Keycloak OpenID Connect client and Waldur intergration.
Configuring Keycloak
Instructions below are aimed to provide a basic configuration of Keycloak, please refer to Keycloak documentation for full details.
- Login to admin interface of Keycloak.
- Create a new realm (or use existing)

- Open a menu with a list of clients.

- Add a new client for Waldur by clicking on
Create clientbutton.
- Make sure that
Client authenticationis enabled.
- Change client's Valid redirect URIs to "*".

- Copy secret code from
Credentialstab.
- You can find the settings required for configuration of Waldur under the following path on your Keycloak deployment (change
test-waldurto the realm that you are using):/realms/test-waldur/.well-known/openid-configuration
Configuring Waldur
-
Make sure
SOCIAL_SIGNUPis added to the list of available authentication methods:1WALDUR_CORE['AUTHENTICATION_METHODS'] = ["LOCAL_SIGNIN", "SOCIAL_SIGNUP"]
3. Open Keycloak identity provider details by clicking on Edit menu of Keycloak dropdown menu
4. Copy Client ID, Client secret and Discovery URL. For extra security, enable SSL, PKCE and post-logout redirect.
Summary
| Name | Protocol | Description |
|---|---|---|
| eduGAIN | SAML | Federation of research and educational providers supported by Geant |
| eduTEAMS | OIDC | Group management service integrated with research and educational providers provided by Geant |
| FreeIPA | REST API | Support for synchronisation of Waldur identities with open-source Identity Management server |
| Keycloak | OIDC | Open-source identity management server |
| LDAP | LDAP/S | Support of identity servers over LDAP protocol |
| TARA | OIDC | Estonian State Autentication service |
Ended: Identities
Mastermind configuration ↵
Adding Sections to Marketplace Categories
Information
Waldur marketplace categories can have sections (like "Support", "Security", "Location") that contain attributes (like "E-mail", "Phone", "Support portal"). These metadata fields appear when editing offerings under Public Information → Category in the UI.
- Categories created via
load_categoriescommand → Have sections automatically - Categories created manually via UI/API → No sections by default
Quick Start: Adding Support Section Example
Step 1: Check which categories need Support
Open Django shell:
1 | |
To see all categories without a Support section:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Step 2: Define the helper function
Define the function to add Support section:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | |
Step 3: Use the function
Add Support section to your categories:
1 2 3 4 5 6 7 8 9 | |
What Gets Created
The Support section includes these attributes:
| Attribute | Type | Description |
|---|---|---|
| string | Support contact email | |
| Phone | string | Support phone number |
| Support portal | string | URL to support portal |
| Description | string | General support description |
Section Keys and Naming
Keys are automatically generated based on category title:
- Category:
"Applications"→ Section key:applications_Support - Category:
"Application Support"→ Section key:application_support_Support
Attribute keys follow the pattern: {section_key}_{attribute_name}
Example for "Applications" category:
applications_Support_emailapplications_Support_phoneapplications_Support_portalapplications_Support_description
Adding Other Sections
You can add other types of sections (Security, Location, etc.) using similar pattern.
Available Attribute Types
| Type | UI Element | Use Case |
|---|---|---|
string |
Text input | Short text (emails, names, URLs) |
text |
Textarea | Long text (descriptions) |
integer |
Number input | Numeric values |
boolean |
Checkbox | Yes/No values |
choice |
Dropdown | Single selection from list |
list |
Multi-select | Multiple selections from list |
Note: For choice and list types, you need to create AttributeOption objects:
Verification
After adding sections, verify in the UI:
- Log into Waldur
- Navigate to Marketplace → Offerings
- Edit an offering in the category you modified
- Go to Public Information → Category
- You should see the new section and attributes
Reference
For more examples, see the standard category definitions in:
src/waldur_mastermind/marketplace/management/commands/load_categories.py
CLI guide
ai_assistant
AI Assistant management commands.
Available subcommands:
1 2 3 4 | |
Examples:
1 2 3 4 5 | |
1 2 3 4 5 6 7 8 9 10 | |
axes_list_attempts
List access attempts
axes_reset
Reset all access attempts and lockouts
axes_reset_failure_logs
Reset access failure log records older than given days.
1 2 3 4 | |
axes_reset_ip
Reset all access attempts and lockouts for given IP addresses
1 2 3 4 | |
axes_reset_ip_username
Reset all access attempts and lockouts for a given IP address and username
1 2 3 4 5 | |
axes_reset_logs
Reset access log records older than given days.
1 2 3 4 | |
axes_reset_username
Reset all access attempts and lockouts for given usernames
1 2 3 4 | |
clean_celery_results
Clean up old Celery task results from the database to prevent bloat.
1 2 3 4 5 6 | |
clean_settings_cache
Clean API configuration settings cache.
cleanup_stale_event_types
Cleanup stale event types in all hooks.
cleanup_structure
Delete all Waldur structure data from the database.
This command removes ALL data including: - Users, Customers, Service Providers, Projects - Marketplace: Categories, Offerings, Plans, Components, Resources, Orders - Permissions: Roles, User Roles, Role Permissions - Accounts: Project/Customer Service Accounts, Course Accounts - Billing: Invoices, Invoice Items, Component Usages - Checklists: Categories, Checklists, Questions, Completions, Answers - System: Events, Feeds, Offering Users - User Management: Invitations, Group Invitations, Permission Requests
The cleanup follows reverse dependency order to prevent foreign key violations. Invoice item signals are temporarily disconnected to avoid race conditions.
IMPORTANT: This is a destructive operation that deletes ALL data. Use --dry-run to preview changes.
Usage:
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
copy_category
Copy structure of categories for the Marketplace
1 2 3 4 5 | |
create_provider
Create a service provider with a linked customer and load categories
1 2 3 4 5 | |
createstaffuser
Create a user with a specified username and password. User will be created as staff.
1 2 3 4 5 6 | |
demo_presets
Manage demo data presets for Waldur.
Available subcommands:
1 2 3 4 | |
Examples:
1 2 3 4 5 | |
1 2 3 4 5 6 7 8 9 | |
drop_leftover_openstack_projects
Drop leftover projects from remote OpenStack deployment. Leftovers are resources marked as terminated in Waldur but still present in the remote OpenStack. Such inconsistency may be caused by split brain problem in the distributed database.
1 2 3 4 5 6 7 8 9 | |
drop_stale_permissions
Delete permissions from DB which are no longer in code.
dump_constance_settings
Dump all settings stored in django-constance to a YAML file. This includes all settings, even those with file/image values.
Usage:
1 | |
The output format is compatible with override_constance_settings command.
For image/file fields, you can optionally export the actual files to a directory using --export-media option.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
dumpusers
Dumps information about users, their organizations and projects.
1 2 3 4 5 6 | |
export_ami_catalog
Export catalog of Amazon images.
export_auth_social
Export OIDC auth configuration as YAML format
1 2 3 4 5 6 | |
export_model_metadata
Collect and export metadata about Django models
export_offering
Export an offering from Waldur. Export data includes JSON file with an offering data and a thumbnail. Names of this files include offering ID.
1 2 3 4 5 6 7 | |
export_roles
Export roles configuration to YAML format.
This command exports all system roles or optionally only specific roles. The output format is compatible with the import_roles command.
Usage:
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
export_structure
Export comprehensive Waldur structure data to JSON format.
This command exports a complete Waldur system structure including: - Users, Customers, Service Providers, Projects - Marketplace: Categories, Offerings, Plans, Components, Resources, Orders - Permissions: Roles, User Roles, Role Permissions - Accounts: Project/Customer Service Accounts, Course Accounts - Billing: Invoices, Invoice Items, Component Usages, Resource Plan Periods - Checklists: Categories, Checklists, Questions, Completions, Answers - System: Authentication Tokens, Offering Users - User Management: Invitations, Group Invitations, Permission Requests
The exported JSON file can be used for backup, migration, analysis, or import using the import_structure command. All UUIDs and relationships are preserved.
Usage:
1 2 | |
1 2 3 4 5 6 | |
generate_mermaid
Generate a Mermaid Class Diagram for specified Django apps and models.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
import_ami_catalog
Import catalog of Amazon images.
1 2 3 4 5 6 7 | |
import_auth_social
Import OIDC auth configuration in YAML format. The example of auth.yaml:
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 | |
import_azure_image
Import Azure image
1 2 3 4 5 6 7 | |
import_marketplace_orders
Create marketplace order for each resource if it does not yet exist.
import_offering
Import or update an offering in Waldur. You must define offering for updating or category and customer for creating.
1 2 3 4 5 6 7 8 9 10 11 | |
import_reppu_usages
Import component usages from Reppu for a specified year and month.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
import_roles
Import roles configuration in YAML format
1 2 3 4 | |
import_structure
Import comprehensive Waldur structure data from JSON format.
This command imports a complete Waldur system structure including: - Users, Customers, Service Providers, Projects - Marketplace: Categories, Offerings, Plans, Components, Resources, Orders - Permissions: Roles, User Roles, Role Permissions - Accounts: Project/Customer Service Accounts, Course Accounts - Billing: Invoices, Invoice Items, Component Usages, Resource Plan Periods - Checklists: Categories, Checklists, Questions, Completions, Answers - System: Authentication Tokens, Offering Users - User Management: Invitations, Group Invitations, Permission Requests
The import maintains dependency order and uses transaction isolation for safety. RabbitMQ messages are automatically disabled during import to prevent billing issues.
Usage:
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
import_tenant_quotas
Import OpenStack tenant quotas to marketplace.
1 2 3 4 5 | |
load_categories
Loads a categories for the Marketplace
1 2 3 4 | |
load_eessi_catalog
Load EESSI software catalog data using the unified catalog loader
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
load_features
Import features in JSON format
1 2 3 4 5 6 7 8 | |
load_notifications
Import notifications to DB
1 2 3 4 | |
load_spack_catalog
Load Spack software catalog data using the unified catalog loader
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
load_user_agreements
Imports privacy policy and terms of service into DB
1 2 3 4 5 6 7 8 9 10 | |
migrate_rabbitmq_queues
Migrate RabbitMQ queues from classic to quorum type
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
move_project
Move Waldur project to a different organization.
1 2 3 4 5 6 7 8 9 10 | |
move_resource
Move a marketplace resource to a different project.
1 2 3 4 5 6 7 | |
organization_access_subnets
Dumps information about organization access subnets, merging adjacent or overlapping networks.
1 2 3 4 5 6 7 | |
override_constance_settings
Override settings stored in django-constance. The example of .yaml file:
1 2 3 4 5 6 7 | |
1 2 3 4 5 6 | |
override_roles
Override roles configuration in YAML format. The example of roles-override.yaml:
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 | |
override_templates
Override templates
1 2 3 4 5 6 7 8 9 | |
pgmigrate
Load data with disabled signals.
1 2 3 4 | |
print_events_enums
Prints all event types as typescript enums.
print_features_description
Prints all Waldur feature description as typescript code.
print_features_docs
Prints all Waldur feature toggles in markdown format.
print_features_enums
Prints all Waldur feature toggles as typescript enums.
print_mixins
Prints all mixin classes in the codebase in markdown format.
1 2 3 4 5 | |
print_notifications
Prints Mastermind notifications with a description and templates
print_permissions_description
Prints all Waldur permissions description as typescript code.
print_registered_handlers
Prints all registered signal handlers in markdown format.
1 2 3 4 5 6 7 8 | |
print_scheduled_jobs
Prints all scheduled background jobs in markdown format.
1 2 3 4 5 | |
print_settings_description
Prints all Waldur feature description as typescript code.
pull_openstack_volume_metadata
Pull OpenStack volumes metadata to marketplace.
1 2 3 4 5 | |
pull_support_priorities
Pull priorities from support backend.
pull_support_users
Pull users from support backend.
push_tenant_quotas
Push OpenStack tenant quotas from marketplace to backend.
1 2 3 4 5 | |
rebuild_billing
Create or update price estimates based on invoices.
removestalect
Remove Django event log records with stale content types.
set_constance_image
A custom command to set Constance image configs with CLI
1 2 3 4 5 | |
set_login_logo_language
Set or remove language-specific login logos
1 2 3 4 5 6 7 | |
status
Check status of Waldur MasterMind configured services
switching_backend_server
Backend data update if a server was switched.
sync_saml2_providers
Synchronize SAML2 identity providers.
validate_openstack_services
Validate access to all OpenStack services used in Waldur for configured offerings
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Configuration options
Static options
WALDUR_AUTH_SAML2 plugin
Default value:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
ALLOW_TO_SELECT_IDENTITY_PROVIDER
Type: bool
ATTRIBUTE_MAP_DIR
Type: str
Directory with attribute mapping
AUTHN_REQUESTS_SIGNED
Type: str
Indicates if the authentication requests sent should be signed by default
CATEGORIES
Type: List[str]
Links to the entity categories
CERT_FILE
Type: str
PEM formatted certificate chain file
DEBUG
Type: bool
Set to True to output debugging information
DEFAULT_BINDING
Type: str
DESCRIPTION
Type: str
Service provider description (required by CoC)
DIGEST_ALGORITHM
Type: Optional[str]
Identifies the Message Digest algorithm URL according to the XML Signature specification (SHA1 is used by default)
DISCOVERY_SERVICE_LABEL
Type: Optional[str]
DISCOVERY_SERVICE_URL
Type: Optional[str]
DISPLAY_NAME
Type: str
Service provider display name (required by CoC)
ENABLE_SINGLE_LOGOUT
Type: bool
IDENTITY_PROVIDER_LABEL
Type: Optional[str]
IDENTITY_PROVIDER_URL
Type: Optional[str]
IDP_METADATA_LOCAL
Type: List[str]
IdPs metadata XML files stored locally
IDP_METADATA_REMOTE
Type: List[str]
IdPs metadata XML files stored remotely
KEY_FILE
Type: str
PEM formatted certificate key file
LOGOUT_REQUESTS_SIGNED
Type: str
Indicates if the entity will sign the logout requests
LOG_FILE
Type: str
Empty to disable logging SAML2-related stuff to file
LOG_LEVEL
Type: str
Log level for SAML2
MANAGEMENT_URL
Type: str
The endpoint for user details management.
NAME
Type: str
Name used for assigning the registration method to the user
NAMEID_FORMAT
Type: Optional[str]
Identified NameID format to use. None means default, empty string ("") disables addition of entity
OPTIONAL_ATTRIBUTES
Type: List[str]
SAML attributes that may be useful to have but not required
ORGANIZATION
Type: Mapping[str, Any]
Organization responsible for the service (you can set multilanguage information here)
PRIVACY_STATEMENT_URL
Type: str
URL with privacy statement (required by CoC)
REGISTRATION_AUTHORITY
Type: str
Registration authority required by mdpi
REGISTRATION_INSTANT
Type: str
Registration instant time required by mdpi
REGISTRATION_POLICY
Type: str
Registration policy required by mdpi
REQUIRED_ATTRIBUTES
Type: List[str]
SAML attributes that are required to identify a user
SAML_ATTRIBUTE_MAPPING
Type: Mapping[str, str]
Mapping between SAML attributes and User fields
SIGNATURE_ALGORITHM
Type: Optional[str]
Identifies the Signature algorithm URL according to the XML Signature specification (SHA1 is used by default)
XMLSEC_BINARY
Type: str
Full path to the xmlsec1 binary program
WALDUR_AUTH_SOCIAL plugin
Default value:
1 2 3 4 5 6 7 8 9 10 | |
ENABLE_EDUTEAMS_SYNC
Type: bool
Enable eduTEAMS synchronization with remote Waldur.
REMOTE_EDUTEAMS_CLIENT_ID
Type: str
ID of application used for OAuth authentication.
REMOTE_EDUTEAMS_ENABLED
Type: bool
Enable remote eduTEAMS extension.
REMOTE_EDUTEAMS_REFRESH_TOKEN
Type: str
Token is used to authenticate against user info endpoint.
REMOTE_EDUTEAMS_SECRET
Type: str
Application secret key.
REMOTE_EDUTEAMS_SSH_API_PASSWORD
Type: str
Password for SSH API URL
REMOTE_EDUTEAMS_SSH_API_URL
Type: str
API URL SSH keys
REMOTE_EDUTEAMS_SSH_API_USERNAME
Type: str
Username for SSH API URL
REMOTE_EDUTEAMS_TOKEN_URL
Type: str
The token endpoint is used to obtain tokens.
REMOTE_EDUTEAMS_USERINFO_URL
Type: str
It allows to get user data based on userid aka CUID.
WALDUR_CORE plugin
Default value:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | |
ATTACHMENT_LINK_MAX_AGE
Type: timedelta
Max age of secure token for media download.
AUTHENTICATION_METHODS
Type: List[str]
List of enabled authentication methods.
BACKEND_FIELDS_EDITABLE
Type: bool
Allows to control /admin writable fields. If this flag is disabled it is impossible to edit any field that corresponds to backend value via /admin. Such restriction allows to save information from corruption.
COURSE_ACCOUNT_TOKEN_CLIENT_ID
Type: str
Client ID to get access token for course account.
COURSE_ACCOUNT_TOKEN_SECRET
Type: str
Client secret to get access for course account.
COURSE_ACCOUNT_TOKEN_URL
Type: str
Webhook URL for getting token for further course account management.
COURSE_ACCOUNT_URL
Type: str
Webhook URL for course account management.
COURSE_ACCOUNT_USE_API
Type: bool
Send course account creation and deletion requests to API.
CREATE_DEFAULT_PROJECT_ON_ORGANIZATION_CREATION
Type: bool
Enables generation of the first project on organization creation.
EMAIL_CHANGE_MAX_AGE
Type: timedelta
Max age of change email request.
ENABLE_ACCOUNTING_START_DATE
Type: bool
Allows to enable accounting for organizations using value of accounting_start_date field.
ENABLE_PROJECT_KIND_COURSE
Type: bool
Enable course kind for projects.
EXTENSIONS_AUTOREGISTER
Type: bool
Defines whether extensions should be automatically registered.
EXTERNAL_LINKS
Type: List[ExternalLink]
Render external links in dropdown in header. Each item should be object with label and url fields. For example: {"label": "Helpdesk", "url": "https://example.com/"}
HOMEPORT_SENTRY_DSN
Type: Optional[str]
Sentry Data Source Name for Waldur HomePort project.
HOMEPORT_SENTRY_ENVIRONMENT
Type: str
Sentry environment name for Waldur Homeport.
HOMEPORT_SENTRY_TRACES_SAMPLE_RATE
Type: float
Percentage of transactions sent to Sentry for tracing.
HTTP_CHUNK_SIZE
Type: int
Chunk size for resource fetching from backend API. It is needed in order to avoid too long HTTP request error.
INVITATIONS_ENABLED
Type: bool
Allows to disable invitations feature.
INVITATION_CIVIL_NUMBER_LABEL
Type: str
Custom label for civil number field in invitation creation dialog.
INVITATION_CREATE_MISSING_USER
Type: bool
Allow to create FreeIPA user using details specified in invitation if user does not exist yet.
INVITATION_LIFETIME
Type: timedelta
Defines for how long invitation remains valid.
INVITATION_MAX_AGE
Type: Optional[timedelta]
Max age of invitation token. It is used in approve and reject actions.
INVITATION_USE_WEBHOOKS
Type: bool
Allow sending of webhooks instead of sending of emails.
INVITATION_WEBHOOK_TOKEN_CLIENT_ID
Type: str
Client ID to get access token from Keycloak.
INVITATION_WEBHOOK_TOKEN_SECRET
Type: str
Client secret to get access token from Keycloak.
INVITATION_WEBHOOK_TOKEN_URL
Type: str
Keycloak URL to get access token.
INVITATION_WEBHOOK_URL
Type: str
Webhook URL for sending invitations.
LOCAL_IDP_LABEL
Type: str
The label of local auth.
LOCAL_IDP_MANAGEMENT_URL
Type: str
The URL for management of local user details.
LOCAL_IDP_NAME
Type: str
The name of local auth.
LOCAL_IDP_PROTECTED_FIELDS
Type: List[str]
The list of protected fields for local IdP.
LOGGING_REPORT_DIRECTORY
Type: str
Directory where log files are located.
LOGGING_REPORT_INTERVAL
Type: timedelta
Files older that specified interval are filtered out.
MASTERMIND_URL
Type: str
It is used for rendering callback URL in MasterMind.
MATOMO_SITE_ID
Type: Optional[int]
Site ID is used by Matomo analytics application.
MATOMO_URL_BASE
Type: Optional[str]
URL base is used by Matomo analytics application.
NOTIFICATIONS_PROFILE_CHANGES
Type: Mapping[str, Any]
Configure notifications about profile changes of organization owners.
NOTIFICATION_SUBJECT
Type: str
It is used as a subject of email emitted by event logging hook.
OECD_FOS_2007_CODE_MANDATORY
Type: bool
Field oecd_fos_2007_code must be required for project.
ONLY_STAFF_CAN_INVITE_USERS
Type: bool
Allow to limit invitation management to staff only.
PROTECT_USER_DETAILS_FOR_REGISTRATION_METHODS
Type: List[str]
List of authentication methods for which a manual update of user details is not allowed.
REQUEST_HEADER_IMPERSONATED_USER_UUID
Type: str
The request header, which contains the user UUID of the user to be impersonated.
RESPONSE_HEADER_IMPERSONATOR_UUID
Type: str
The response header, which contains the UUID of the user who requested the impersonation.
SELLER_COUNTRY_CODE
Type: Optional[str]
Specifies seller legal or effective country of registration or residence as an ISO 3166-1 alpha-2 country code. It is used for computing VAT charge rate.
SERVICE_ACCOUNT_TOKEN_CLIENT_ID
Type: str
Client ID to get access token for service account.
SERVICE_ACCOUNT_TOKEN_SECRET
Type: str
Client secret to get access for service account.
SERVICE_ACCOUNT_TOKEN_URL
Type: str
Webhook URL for getting token for further service account management.
SERVICE_ACCOUNT_URL
Type: str
Webhook URL for service account management.
SERVICE_ACCOUNT_USE_API
Type: bool
Send service account creation and deletion requests to API.
SUBNET_BLACKLIST
Type: List[str]
List of IP ranges that are blocked for the SDK client.
SUPPORT_PORTAL_URL
Type: str
Support portal URL is rendered as a shortcut on dashboard
TOKEN_LIFETIME
Type: timedelta
Defines for how long user token should remain valid if there was no action from user.
TRANSLATION_DOMAIN
Type: str
Identifier of translation domain applied to current deployment.
USER_MANDATORY_FIELDS
Type: List[str]
List of user profile attributes that would be required for filling in HomePort. Note that backend will not be affected. If a mandatory field is missing in profile, a profile edit view will be forced upon user on any HomePort logged in action. Possible values are: description, email, full_name, job_title, organization, phone_number
USER_REGISTRATION_HIDDEN_FIELDS
Type: List[str]
List of user profile attributes that would be concealed on registration form in HomePort. Possible values are: job_title, registration_method, phone_number
USE_ATOMIC_TRANSACTION
Type: bool
Wrap action views in atomic transaction.
VALIDATE_INVITATION_EMAIL
Type: bool
Ensure that invitation and user emails match.
WALDUR_HPC plugin
Default value:
1 2 3 4 5 6 7 8 9 10 11 | |
ENABLED
Type: bool
Enable HPC-specific hooks in Waldur deployment
EXTERNAL_AFFILIATIONS
Type: List[str]
List of user affiliations (eduPersonScopedAffiliation fields) that define if the user belongs to external organization.
EXTERNAL_CUSTOMER_UUID
Type: str
UUID of a Waldur organization (aka customer) where new external users would be added
EXTERNAL_EMAIL_PATTERNS
Type: List[str]
List of user email patterns (as regex) that define if the user belongs to external organization.
EXTERNAL_LIMITS
Type: Mapping[str, Any]
Overrided default values for SLURM offering to be created for users belonging to external organization.
INTERNAL_AFFILIATIONS
Type: List[str]
List of user affiliations (eduPersonScopedAffiliation fields) that define if the user belongs to internal organization.
INTERNAL_CUSTOMER_UUID
Type: str
UUID of a Waldur organization (aka customer) where new internal users would be added
INTERNAL_EMAIL_PATTERNS
Type: List[str]
List of user email patterns (as regex) that define if the user belongs to internal organization.
INTERNAL_LIMITS
Type: Mapping[str, Any]
Overrided default values for SLURM offering to be created for users belonging to internal organization.
OFFERING_UUID
Type: str
UUID of a Waldur SLURM offering, which will be used for creating allocations for users
PLAN_UUID
Type: str
UUID of a Waldur SLURM offering plan, which will be used for creating allocations for users
WALDUR_OPENPORTAL plugin
Default value:
1 | |
DEFAULT_LIMITS
Type: Mapping[str, int]
Default limits of account that are set when OpenPortal account is provisioned.
ENABLED
Type: bool
Enable support for OpenPortal plugin in a deployment
WALDUR_OPENSTACK plugin
Default value:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | |
ALLOW_CUSTOMER_USERS_OPENSTACK_CONSOLE_ACCESS
Type: bool
If true, customer users would be offered actions for accessing OpenStack console
ALLOW_DIRECT_EXTERNAL_NETWORK_CONNECTION
Type: bool
If true, allow connecting of instances directly to external networks
DEFAULT_BLACKLISTED_USERNAMES
Type: List[str]
Usernames that cannot be created by Waldur in OpenStack
DEFAULT_SECURITY_GROUPS
Type: Tuple[dict[str, str | tuple[dict[str, str | int], ...]], ...]
Default security groups and rules created in each of the provisioned OpenStack tenants
MAX_CONCURRENT_PROVISION
Type: Mapping[str, int]
Maximum parallel executions of provisioning operations for OpenStack resources
REQUIRE_AVAILABILITY_ZONE
Type: bool
If true, specification of availability zone during provisioning will become mandatory
SUBNET
Type: Mapping[str, str]
Default allocation pool for auto-created internal network
TENANT_CREDENTIALS_VISIBLE
Type: bool
If true, generated credentials of a tenant are exposed to project users
WALDUR_PID plugin
Default value:
1 2 3 4 5 6 | |
DATACITE
Type: Mapping[str, str]
Settings for integration of Waldur with Datacite PID service. Collection DOI is used to aggregate generated DOIs.
WALDUR_SLURM plugin
Default value:
1 2 3 4 5 6 | |
ALLOCATION_PREFIX
Type: str
Prefix for SLURM account name corresponding to Waldur allocation
CUSTOMER_PREFIX
Type: str
Prefix for SLURM account name corresponding to Waldur organization.
DEFAULT_LIMITS
Type: Mapping[str, int]
Default limits of account that are set when SLURM account is provisioned.
ENABLED
Type: bool
Enable support for SLURM plugin in a deployment
PRIVATE_KEY_PATH
Type: str
Path to private key file used as SSH identity file for accessing SLURM master.
PROJECT_PREFIX
Type: str
Prefix for SLURM account name corresponding to Waldur project.
WALDUR_USER_ACTIONS plugin
Default value:
1 2 3 4 5 6 | |
CLEANUP_EXECUTION_HISTORY_DAYS
Type: int
Number of days to keep action execution history.
DEFAULT_SILENCE_DURATION_DAYS
Type: int
Default number of days to silence actions when no duration is specified.
ENABLED
Type: bool
Enable the user actions notification system.
HIGH_URGENCY_NOTIFICATION_THRESHOLD
Type: int
Number of high urgency actions that trigger immediate notification.
MAX_ACTIONS_PER_USER
Type: int
Maximum number of actions to store per user.
NOTIFICATION_ENABLED
Type: bool
Enable daily digest notifications for user actions.
Other variables
DEFAULT_FROM_EMAIL
Type: str, default value: webmaster@localhost
Default email address to use for automated correspondence from Waldur.
DEFAULT_REPLY_TO_EMAIL
Type: str
Default email address to use for email replies.
EMAIL_HOOK_FROM_EMAIL
Type: str
Alternative email address to use for email hooks.
IMPORT_EXPORT_USE_TRANSACTIONS
Type: bool, default value: True
Controls if resource importing should use database transactions. Using transactions makes imports safer as a failure during import won't import only part of the data set.
IPSTACK_ACCESS_KEY
Type: Optional[str]
Unique authentication key used to gain access to the ipstack API.
LANGUAGES
Type: List[tuple[str, str]], default value: [('en', 'English'), ('et', 'Eesti')]
The list is a list of two-tuples in the format (language code, language name) – for example, ('ja', 'Japanese').
LANGUAGE_CODE
Type: str, default value: en
Represents the name of a default language.
VERIFY_WEBHOOK_REQUESTS
Type: bool, default value: True
When webook is processed, requests verifies SSL certificates for HTTPS requests, just like a web browser.
Dynamic options
Branding
SITE_NAME
Type: str
Default value: Waldur
Human-friendly name of the Waldur deployment.
SHORT_PAGE_TITLE
Type: str
Default value: Waldur
It is used as prefix for page title.
FULL_PAGE_TITLE
Type: str
Default value: Waldur | Cloud Service Management
It is used as default page title if it's not specified explicitly.
SITE_DESCRIPTION
Type: str
Default value: Your single pane of control for managing projects, teams and resources in a self-service manner.
Description of the Waldur deployment.
HOMEPORT_URL
Type: str
Default value: https://example.com/
It is used for rendering callback URL in HomePort
RANCHER_USERNAME_INPUT_LABEL
Type: str
Default value: Username
Label for the username field in Rancher external user resource access management.
Marketplace Branding
SITE_ADDRESS
Type: str
It is used in marketplace order header.
SITE_EMAIL
Type: str
It is used in marketplace order header and UI footer.
SITE_PHONE
Type: str
It is used in marketplace order header and UI footer.
CURRENCY_NAME
Type: str
Default value: EUR
It is used in marketplace order details and invoices for currency formatting.
MARKETPLACE_LANDING_PAGE
Type: str
Default value: Marketplace
Marketplace landing page title.
COUNTRIES
Type: country_list_field
Default value: ['AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CY', 'CZ', 'DE', 'DK', 'EE', 'ES', 'EU', 'FI', 'FR', 'GB', 'GE', 'GR', 'HR', 'HU', 'IE', 'IS', 'IT', 'LT', 'LU', 'LV', 'MC', 'MK', 'MT', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI', 'SK', 'UA']
It is used in organization creation dialog in order to limit country choices to predefined set.
Marketplace
THUMBNAIL_SIZE
Type: str
Default value: 120x120
Size of the thumbnail to generate when screenshot is uploaded for an offering.
ANONYMOUS_USER_CAN_VIEW_OFFERINGS
Type: bool
Default value: True
Allow anonymous users to see shared offerings in active, paused and archived states
ANONYMOUS_USER_CAN_VIEW_PLANS
Type: bool
Default value: True
Allow anonymous users to see plans
RESTRICTED_OFFERING_VISIBILITY_MODE
Type: str
Default value: show_all
Controls offering visibility for regular users. 'show_all': Show all shared offerings (current behavior). 'show_restricted_disabled': Show all but mark inaccessible as disabled. 'hide_inaccessible': Hide offerings user cannot access. 'require_membership': Hide all unless user belongs to an organization/project.
NOTIFY_STAFF_ABOUT_APPROVALS
Type: bool
If true, users with staff role are notified when request for order approval is generated
NOTIFY_ABOUT_RESOURCE_CHANGE
Type: bool
Default value: True
If true, notify users about resource changes from Marketplace perspective. Can generate duplicate events if plugins also log
DISABLE_SENDING_NOTIFICATIONS_ABOUT_RESOURCE_UPDATE
Type: bool
Default value: True
Disable only resource update events.
ENABLE_STALE_RESOURCE_NOTIFICATIONS
Type: bool
Enable reminders to owners about resources of shared offerings that have not generated any cost for the last 3 months.
ENABLE_MOCK_SERVICE_ACCOUNT_BACKEND
Type: bool
Enable mock returns for the service account service
ENABLE_MOCK_COURSE_ACCOUNT_BACKEND
Type: bool
Enable mock returns for the course account service
ENFORCE_USER_CONSENT_FOR_OFFERINGS
Type: bool
If True, users must have active consent to access offerings that have active Terms of Service.
DISABLED_OFFERING_TYPES
Type: list_field
List of offering types disabled for creation and selection.
ENABLE_ORDER_START_DATE
Type: bool
Allow setting start date to control when resource creation order is processed.
Project
PROJECT_END_DATE_MANDATORY
Type: bool
If true, project end date field becomes mandatory when creating or updating projects.
Telemetry
TELEMETRY_URL
Type: str
Default value: https://telemetry.waldur.com/
URL for sending telemetry data.
TELEMETRY_VERSION
Type: int
Default value: 1
Telemetry service version.
Custom Scripts
SCRIPT_RUN_MODE
Type: str
Default value: docker
Type of jobs deployment. Valid values: "docker" for simple docker deployment, "k8s" for Kubernetes-based one
DOCKER_CLIENT
Type: dict_field
Default value: {'base_url': 'unix:///var/run/docker.sock'}
Options for docker client. See also: https://docker-py.readthedocs.io/en/stable/client.html#docker.client.DockerClient
DOCKER_RUN_OPTIONS
Type: dict_field
Default value: {'mem_limit': '512m'}
Options for docker runtime. See also: https://docker-py.readthedocs.io/en/stable/containers.html#docker.models.containers.ContainerCollection.run
DOCKER_SCRIPT_DIR
Type: str
Path to folder on executor machine where to create temporary submission scripts. If None, uses OS-dependent location. OS X users, see https://github.com/docker/for-mac/issues/1532
DOCKER_REMOVE_CONTAINER
Type: bool
Default value: True
Remove Docker container after script execution
DOCKER_IMAGES
Type: dict_field
Default value: {'python': {'image': 'python:3.11-alpine', 'command': 'python'}, 'shell': {'image': 'alpine:3', 'command': 'sh'}, 'ansible': {'image': 'alpine/ansible:2.18.6', 'command': 'ansible-playbook'}}
Key is command to execute script, value is a dictionary of image name and command.
DOCKER_VOLUME_NAME
Type: str
Default value: waldur-docker-compose_waldur_script_launchzone
A name of the shared volume to store scripts
K8S_NAMESPACE
Type: str
Default value: default
Kubernetes namespace where jobs will be executed
K8S_CONFIG_PATH
Type: str
Default value: ~/.kube/config
Path to Kubernetes configuration file
K8S_JOB_TIMEOUT
Type: int
Default value: 1800
Timeout for execution of one Kubernetes job in seconds
Notifications
COMMON_FOOTER_TEXT
Type: text_field
Common footer in txt format for all emails.
COMMON_FOOTER_HTML
Type: html_field
Common footer in html format for all emails.
MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES
Type: int
Default value: 60
How many minutes before scheduled maintenance users should be notified.
MAINTENANCE_ANNOUNCEMENT_NOTIFY_SYSTEM
Type: list_field
Default value: ['AdminAnnouncement']
How maintenance notifications are delivered. Choices: AdminAnnouncement or BroadcastMessage.
Links
DOCS_URL
Type: url_field
Renders link to docs in header
HERO_LINK_LABEL
Type: str
Label for link in hero section of HomePort landing page. It can be lead to support site or blog post.
HERO_LINK_URL
Type: url_field
Link URL in hero section of HomePort landing page.
SUPPORT_PORTAL_URL
Type: url_field
Link URL to support portal. Rendered as a shortcut on dashboard
Theme
SIDEBAR_STYLE
Type: str
Default value: dark
Style of sidebar. Possible values: dark, light, accent.
BRAND_COLOR
Type: color_field
Default value: #307300
Brand color is used for button background.
DISABLE_DARK_THEME
Type: bool
Toggler to disable dark theme.
Login page
LOGIN_PAGE_LAYOUT
Type: str
Default value: split-screen
Login page layout style. Options: split-screen, centered-card, minimal, full-hero, gradient, stacked, right-split, glassmorphism, neumorphism, animated-gradient, video-background, bottom-sheet, tabbed, wizard, stats, news, carousel, logo-watermark, brand-pattern, duotone, diagonal, time-based, seasonal, weather.
LOGIN_PAGE_VIDEO_URL
Type: url_field
Video URL for the video-background login page layout. Supports MP4 format. Leave empty to use default sample video.
LOGIN_PAGE_STATS
Type: json_list_field
Stats displayed in the Stats login page layout. List of objects with 'value' and 'label' keys, e.g., [{'value': '10K+', 'label': 'Active Users'}, {'value': '99.9%', 'label': 'Uptime'}].
LOGIN_PAGE_CAROUSEL_SLIDES
Type: json_list_field
Carousel slides displayed in the Carousel login page layout. List of objects with 'title' and 'subtitle' keys, e.g., [{'title': 'Welcome', 'subtitle': 'Get started with our platform'}].
LOGIN_PAGE_NEWS
Type: json_list_field
News items displayed in the News login page layout. List of objects with 'date', 'title', 'description', and 'tag' keys. Supported tags: Feature, Update, Security, Announcement, Maintenance. Example: [{'date': 'Jan 2025', 'title': 'New Feature', 'description': 'Description here', 'tag': 'Feature'}].
Images
SITE_LOGO
Type: image_field
The image used in marketplace order header.
SIDEBAR_LOGO
Type: image_field
The image rendered at the top of sidebar menu in HomePort.
SIDEBAR_LOGO_MOBILE
Type: image_field
The image rendered at the top of mobile sidebar menu in HomePort.
SIDEBAR_LOGO_DARK
Type: image_field
The image rendered at the top of sidebar menu in dark mode.
POWERED_BY_LOGO
Type: image_field
The image rendered at the bottom of login menu in HomePort.
HERO_IMAGE
Type: image_field
The image rendered at hero section of HomePort landing page.
MARKETPLACE_HERO_IMAGE
Type: image_field
The image rendered at hero section of Marketplace landing page. Please, use a wide image (min. 1920×600px) with no text or logos. Keep the center area clean, and choose a darker image for dark mode or a brighter image for light mode.
CALL_MANAGEMENT_HERO_IMAGE
Type: image_field
The image rendered at hero section of Call Management landing page. Please, use a wide image (min. 1920×600px) with no text or logos. Keep the center area clean, and choose a darker image for dark mode or a brighter image for light mode.
LOGIN_LOGO
Type: image_field
A custom .png image file for login page
LOGIN_LOGO_MULTILINGUAL
Type: multilingual_image_field
Language-specific login logos. Dict mapping language codes to image paths, e.g., {'de': 'path/to/german_logo.png'}. Falls back to LOGIN_LOGO if requested language not found.
FAVICON
Type: image_field
A custom favicon .png image file
OFFERING_LOGO_PLACEHOLDER
Type: image_field
Default logo for offering
KEYCLOAK_ICON
Type: image_field
A custom PNG icon for Keycloak login button
Service desk integration settings
WALDUR_SUPPORT_ENABLED
Type: bool
Default value: True
Toggler for support plugin.
WALDUR_SUPPORT_ACTIVE_BACKEND_TYPE
Type: str
Default value: atlassian
Type of support backend. Possible values: atlassian, zammad, smax.
WALDUR_SUPPORT_DISPLAY_REQUEST_TYPE
Type: bool
Default value: True
Toggler for request type displaying
Atlassian settings
ATLASSIAN_API_URL
Type: url_field
Default value: https://example.com/
Atlassian API server URL
ATLASSIAN_USERNAME
Type: str
Default value: USERNAME
Username for access user
ATLASSIAN_PASSWORD
Type: secret_field
Default value: PASSWORD
Password for access user
ATLASSIAN_EMAIL
Type: email_field
Email for access user
ATLASSIAN_TOKEN
Type: secret_field
Token for access user
ATLASSIAN_PERSONAL_ACCESS_TOKEN
Type: secret_field
Personal Access Token for user
ATLASSIAN_OAUTH2_CLIENT_ID
Type: secret_field
OAuth 2.0 Client ID
ATLASSIAN_OAUTH2_ACCESS_TOKEN
Type: secret_field
OAuth 2.0 Access Token
ATLASSIAN_OAUTH2_TOKEN_TYPE
Type: str
Default value: Bearer
OAuth 2.0 Token Type
ATLASSIAN_PROJECT_ID
Type: str
Service desk ID or key
ATLASSIAN_DEFAULT_OFFERING_ISSUE_TYPE
Type: str
Default value: Service Request
Issue type used for request-based item processing.
ATLASSIAN_EXCLUDED_ATTACHMENT_TYPES
Type: str
Comma-separated list of file extenstions not allowed for attachment.
ATLASSIAN_AFFECTED_RESOURCE_FIELD
Type: str
Affected resource field name
ATLASSIAN_DESCRIPTION_TEMPLATE
Type: str
Template for issue description
ATLASSIAN_SUMMARY_TEMPLATE
Type: str
Template for issue summary
ATLASSIAN_IMPACT_FIELD
Type: str
Default value: Impact
Impact field name
ATLASSIAN_ORGANISATION_FIELD
Type: str
Organisation field name
ATLASSIAN_RESOLUTION_SLA_FIELD
Type: str
Resolution SLA field name
ATLASSIAN_PROJECT_FIELD
Type: str
Project field name
ATLASSIAN_REPORTER_FIELD
Type: str
Default value: Original Reporter
Reporter field name
ATLASSIAN_CALLER_FIELD
Type: str
Default value: Caller
Caller field name
ATLASSIAN_SLA_FIELD
Type: str
Default value: Time to first response
SLA field name
ATLASSIAN_LINKED_ISSUE_TYPE
Type: str
Default value: Relates
Type of linked issue field name
ATLASSIAN_SATISFACTION_FIELD
Type: str
Default value: Customer satisfaction
Customer satisfaction field name
ATLASSIAN_REQUEST_FEEDBACK_FIELD
Type: str
Default value: Request feedback
Request feedback field name
ATLASSIAN_TEMPLATE_FIELD
Type: str
Template field name
ATLASSIAN_WALDUR_BACKEND_ID_FIELD
Type: str
Default value: customfield_10200
Waldur backend ID custom field ID (fallback when field lookup by name fails)
ATLASSIAN_CUSTOM_ISSUE_FIELD_MAPPING_ENABLED
Type: bool
Default value: True
Should extra issue field mappings be applied
ATLASSIAN_SHARED_USERNAME
Type: bool
Is Service Desk username the same as in Waldur
ATLASSIAN_VERIFY_SSL
Type: bool
Default value: True
Toggler for SSL verification
ATLASSIAN_USE_OLD_API
Type: bool
Toggler for legacy API usage.
ATLASSIAN_MAP_WALDUR_USERS_TO_SERVICEDESK_AGENTS
Type: bool
Toggler for mapping between waldur user and service desk agents.
Zammad settings
ZAMMAD_API_URL
Type: url_field
Zammad API server URL. For example https://localhost:8080/
ZAMMAD_TOKEN
Type: secret_field
Authorization token.
ZAMMAD_GROUP
Type: str
The name of the group to which the ticket will be added. If not specified, the first group will be used.
ZAMMAD_ARTICLE_TYPE
Type: str
Default value: email
Type of a comment. Default is email because it allows support to reply to tickets directly in Zammadhttps://docs.zammad.org/en/latest/api/ticket/articles.html#articles/
ZAMMAD_COMMENT_MARKER
Type: str
Default value: Created by Waldur
Marker for comment. Used for separating comments made via Waldur from natively added comments.
ZAMMAD_COMMENT_PREFIX
Type: str
Default value: User: {name}
Comment prefix with user info.
ZAMMAD_COMMENT_COOLDOWN_DURATION
Type: int
Default value: 5
Time in minutes. Time in minutes while comment deletion is available https://github.com/zammad/zammad/issues/2687/, https://github.com/zammad/zammad/issues/3086/
SMAX settings
SMAX_API_URL
Type: url_field
SMAX API server URL. For example https://localhost:8080/
SMAX_TENANT_ID
Type: str
User tenant ID.
SMAX_LOGIN
Type: str
Authorization login.
SMAX_PASSWORD
Type: secret_field
Authorization password.
SMAX_ORGANISATION_FIELD
Type: str
Organisation field name.
SMAX_PROJECT_FIELD
Type: str
Project field name.
SMAX_AFFECTED_RESOURCE_FIELD
Type: str
Resource field name.
SMAX_REQUESTS_OFFERING
Type: str
Requests offering code for all issues.
SMAX_SECONDS_TO_WAIT
Type: int
Default value: 1
Duration in seconds of delay between pull user attempts.
SMAX_TIMES_TO_PULL
Type: int
Default value: 10
The maximum number of attempts to pull user from backend.
SMAX_CREATION_SOURCE_NAME
Type: str
Creation source name.
SMAX_VERIFY_SSL
Type: bool
Default value: True
Toggler for SSL verification
Proposal settings
PROPOSAL_REVIEW_DURATION
Type: int
Default value: 7
Review duration in days.
REVIEWER_PROFILES_ENABLED
Type: bool
Default value: True
Enable reviewer profile management features.
COI_DETECTION_ENABLED
Type: bool
Default value: True
Enable conflict of interest detection features.
COI_DISCLOSURE_REQUIRED
Type: bool
Require reviewers to submit COI disclosure before reviewing proposals.
AUTOMATED_MATCHING_ENABLED
Type: bool
Default value: True
Enable automated reviewer-proposal matching algorithms.
COI_COAUTHORSHIP_LOOKBACK_YEARS
Type: int
Default value: 5
Default number of years to look back for co-authorship COI detection.
COI_COAUTHORSHIP_THRESHOLD_PAPERS
Type: int
Default value: 2
Default number of co-authored papers to trigger a COI.
COI_INSTITUTIONAL_LOOKBACK_YEARS
Type: int
Default value: 3
Default number of years after leaving institution before COI expires.
ORCID integration settings
ORCID_CLIENT_ID
Type: str
ORCID OAuth2 Client ID for reviewer profile integration.
ORCID_CLIENT_SECRET
Type: secret_field
ORCID OAuth2 Client Secret.
ORCID_REDIRECT_URI
Type: url_field
ORCID OAuth2 Redirect URI. Typically {HOMEPORT_URL}/orcid-callback/
ORCID_API_URL
Type: url_field
Default value: https://pub.orcid.org/v3.0
ORCID API Base URL. Use https://pub.sandbox.orcid.org/v3.0 for testing.
ORCID_AUTH_URL
Type: url_field
Default value: https://orcid.org/oauth
ORCID OAuth Authorization URL. Use https://sandbox.orcid.org/oauth for testing.
ORCID_SANDBOX_MODE
Type: bool
Use ORCID sandbox environment for testing. When enabled, uses sandbox URLs automatically.
Publication API settings
SEMANTIC_SCHOLAR_API_KEY
Type: secret_field
Semantic Scholar API Key for publication imports. Optional but recommended for higher rate limits.
CROSSREF_MAILTO
Type: email_field
Email address for CrossRef API polite pool. Provides higher rate limits.
Table settings
USER_TABLE_COLUMNS
Type: str
Comma-separated list of columns for users table.
Localization
LANGUAGE_CHOICES
Type: str
Default value: en,et,lt,lv,ru,it,de,da,sv,es,fr,nb,ar,cs
List of enabled languages
Authentication settings
AUTO_APPROVE_USER_TOS
Type: bool
Mark terms of services as approved for new users.
DEFAULT_IDP
Type: str
Triggers authentication flow at once.
DEACTIVATE_USER_IF_NO_ROLES
Type: bool
Deactivate user if all roles are revoked (except staff/support)
OIDC_BLOCK_CREATION_OF_UNINVITED_USERS
Type: bool
If true, block creation of an account on OIDC login if user email is not provided or provided and is not in the list of one of the active invitations.
OIDC_ACCESS_TOKEN_ENABLED
Type: bool
If true, OIDC complete view returns access token instead of Waldur token
Invitation settings
ENABLE_STRICT_CHECK_ACCEPTING_INVITATION
Type: bool
If true, user email in Waldur database and in invitatation must strictly match.
INVITATION_DISABLE_MULTIPLE_ROLES
Type: bool
Do not allow user to accept multiple roles within the same scope (project or organization) using invitation. When enabled, users can still accept invitations to different scopes but cannot have multiple roles in the same scope.
INVITATION_ALLOWED_FIELDS
Type: list_field
Default value: ['full_name', 'organization', 'job_title']
Fields that can be provided in invitations for email personalization. These are NOT copied to user profile.
User profile settings
DEFAULT_OFFERING_USER_ATTRIBUTES
Type: list_field
Default value: ['username', 'full_name', 'email']
Default user attributes exposed to service providers (OfferingUser API) when no explicit config exists. Available options: username, full_name, email, phone_number, organization, job_title, affiliations, gender, personal_title, birth_date, place_of_birth, country_of_residence, nationality, nationalities, organization_country, organization_type, eduperson_assurance, civil_number, identity_source.
ENABLED_USER_PROFILE_ATTRIBUTES
Type: list_field
Default value: ['phone_number', 'organization', 'job_title', 'affiliations']
List of enabled user profile attributes. Controls IdP sync and UI display. Core attributes (username, email, first_name, last_name, full_name) are always enabled. Available options: phone_number, organization, job_title, affiliations, gender, personal_title, birth_date, place_of_birth, country_of_residence, nationality, nationalities, organization_country, organization_type, eduperson_assurance, civil_number, identity_source.
MANDATORY_USER_ATTRIBUTES
Type: list_field
List of user profile attributes that are mandatory. Users with missing mandatory attributes will have limited API access until their profile is complete. Available: phone_number, organization, job_title, affiliations, civil_number, first_name, last_name, email, etc.
ENFORCE_MANDATORY_USER_ATTRIBUTES
Type: bool
If True, users with incomplete mandatory attributes will be blocked from most API endpoints until they complete their profile.
Data privacy settings
USER_DATA_ACCESS_LOGGING_ENABLED
Type: bool
Enable logging of user profile data access events for GDPR compliance.
USER_DATA_ACCESS_LOG_RETENTION_DAYS
Type: int
Default value: 90
Number of days to retain user data access logs before automatic cleanup.
USER_DATA_ACCESS_LOG_SELF_ACCESS
Type: bool
Log when users access their own profile data. Disabled by default to reduce log volume.
FreeIPA settings
FREEIPA_ENABLED
Type: bool
Enable integration of identity provisioning in configured FreeIPA.
FREEIPA_HOSTNAME
Type: str
Default value: ipa.example.com
Hostname of FreeIPA server.
FREEIPA_USERNAME
Type: str
Default value: admin
Username of FreeIPA user with administrative privileges.
FREEIPA_PASSWORD
Type: secret_field
Default value: secret
Password of FreeIPA user with administrative privileges
FREEIPA_VERIFY_SSL
Type: bool
Default value: True
Validate TLS certificate of FreeIPA web interface / REST API
FREEIPA_USERNAME_PREFIX
Type: str
Default value: waldur_
Prefix to be appended to all usernames created in FreeIPA by Waldur
FREEIPA_GROUPNAME_PREFIX
Type: str
Default value: waldur_
Prefix to be appended to all group names created in FreeIPA by Waldur
FREEIPA_BLACKLISTED_USERNAMES
Type: list_field
Default value: ['root']
List of username that users are not allowed to select
FREEIPA_GROUP_SYNCHRONIZATION_ENABLED
Type: bool
Default value: True
Optionally disable creation of user groups in FreeIPA matching Waldur structure
API token authentication
OIDC_AUTH_URL
Type: str
OIDC authorization endpoint URL. Reserved for future OAuth 2.0 authorization code flow integration.
OIDC_INTROSPECTION_URL
Type: str
RFC 7662 Token Introspection endpoint URL. Used to validate API bearer tokens. When a client sends Authorization: Bearer
OIDC_CLIENT_ID
Type: str
Client ID for HTTP Basic authentication when calling the token introspection endpoint. Required together with OIDC_CLIENT_SECRET and OIDC_INTROSPECTION_URL.
OIDC_CLIENT_SECRET
Type: str
Client secret for HTTP Basic authentication when calling the token introspection endpoint. Required together with OIDC_CLIENT_ID and OIDC_INTROSPECTION_URL.
OIDC_USER_FIELD
Type: str
Default value: username
Field name from the introspection response JSON used to identify the Waldur user. Common values: 'username', 'email', 'sub', 'client_id'. The value is matched against User.username.
OIDC_CACHE_TIMEOUT
Type: int
Default value: 300
Seconds to cache successful token introspection results. Reduces load on the introspection endpoint. Set to 0 to disable caching. Default: 300 (5 minutes).
WALDUR_AUTH_SOCIAL_ROLE_CLAIM
Type: str
OAuth/OIDC token claim name containing user roles for automatic staff/support assignment. If the claim contains 'staff', user gets is_staff=True. If it contains 'support', user gets is_support=True. Leave empty to disable role synchronization from identity provider.
Onboarding settings
ONBOARDING_VALIDATION_METHODS
Type: list_field
List of automatic validation methods available for this portal (e.g., ariregister, wirtschaftscompass, bolagsverket). Must match backend method names.
ONBOARDING_VERIFICATION_EXPIRY_HOURS
Type: int
Default value: 48
Number of hours after which onboarding verifications expire.
ONBOARDING_ARIREGISTER_BASE_URL
Type: url_field
Default value: https://demo-ariregxmlv6.rik.ee/
Base URL for Estonian Äriregister API endpoint.
ONBOARDING_ARIREGISTER_USERNAME
Type: str
Username for Estonian Äriregister API authentication.
ONBOARDING_ARIREGISTER_PASSWORD
Type: secret_field
Password for Estonian Äriregister API authentication.
ONBOARDING_ARIREGISTER_TIMEOUT
Type: int
Default value: 30
Timeout in seconds for Estonian Äriregister API requests.
ONBOARDING_WICO_API_URL
Type: url_field
Default value: https://api.wirtschaftscompass.at/
WirtschaftsCompass API server URL
ONBOARDING_WICO_TOKEN
Type: secret_field
WirtschaftsCompass API token
ONBOARDING_BOLAGSVERKET_API_URL
Type: url_field
Default value: https://gw-accept2.api.bolagsverket.se/
Sweden Business Register API server URL
ONBOARDING_BOLAGSVERKET_TOKEN_API_URL
Type: url_field
Default value: https://portal-accept2.api.bolagsverket.se/
Bolagsverket OAuth2 token server base URL
ONBOARDING_BOLAGSVERKET_CLIENT_ID
Type: str
Sweden Business Register API client identifier
ONBOARDING_BOLAGSVERKET_CLIENT_SECRET
Type: secret_field
Sweden Business Register API client secret
ONBOARDING_BREG_API_URL
Type: url_field
Default value: https://data.brreg.no/
Norway Business Register API server URL
LLM inference settings
LLM_CHAT_ENABLED
Type: bool
Enable LLM-based chat feature and calls to the inference service.
LLM_INFERENCES_BACKEND_TYPE
Type: str
Default value: ollama
Type of LLM inference backend. For example: openai, ollama.
LLM_INFERENCES_API_URL
Type: url_field
Base URL for LLM inference service API.
LLM_INFERENCES_API_TOKEN
Type: secret_field
API key for authenticating with the LLM inference service.
LLM_INFERENCES_MODEL
Type: str
Default value: gemma3:27b
Name of the LLM model to use for inference.
LLM_TOKEN_LIMIT_DAILY
Type: int
Default value: -1
Default daily token limit (integer). -1 means unlimited.
LLM_TOKEN_LIMIT_WEEKLY
Type: int
Default value: -1
Default weekly token limit (integer). -1 means unlimited.
LLM_TOKEN_LIMIT_MONTHLY
Type: int
Default value: -1
Default monthly token limit (integer). -1 means unlimited.
Software catalog settings
SOFTWARE_CATALOG_EESSI_UPDATE_ENABLED
Type: bool
Default value: True
Enable automated daily updates for EESSI software catalog
SOFTWARE_CATALOG_EESSI_VERSION
Type: str
EESSI catalog version to load (auto-detect if empty)
SOFTWARE_CATALOG_EESSI_API_URL
Type: str
Default value: https://www.eessi.io/api_data/data/
Base URL for EESSI API data
SOFTWARE_CATALOG_EESSI_INCLUDE_EXTENSIONS
Type: bool
Default value: True
Include extension packages (Python, R packages, etc.) from EESSI
SOFTWARE_CATALOG_SPACK_UPDATE_ENABLED
Type: bool
Default value: True
Enable automated daily updates for Spack software catalog
SOFTWARE_CATALOG_SPACK_VERSION
Type: str
Spack catalog version to load (auto-detect if empty)
SOFTWARE_CATALOG_SPACK_DATA_URL
Type: str
Default value: https://raw.githubusercontent.com/spack/packages.spack.io/refs/heads/gh-pages/data/repology.json
URL for Spack repology.json data
SOFTWARE_CATALOG_UPDATE_EXISTING_PACKAGES
Type: bool
Default value: True
Update existing packages during catalog refresh
SOFTWARE_CATALOG_CLEANUP_ENABLED
Type: bool
Default value: True
Enable automatic cleanup of old catalog data
SOFTWARE_CATALOG_RETENTION_DAYS
Type: int
Default value: 90
Number of days to retain old catalog versions
Table Growth Monitoring
TABLE_GROWTH_MONITORING_ENABLED
Type: bool
Default value: True
Enable table growth monitoring to detect potential data leaks from bugs.
TABLE_GROWTH_WEEKLY_THRESHOLD_PERCENT
Type: int
Default value: 50
Alert if a table grows by more than this percentage in a week.
TABLE_GROWTH_MONTHLY_THRESHOLD_PERCENT
Type: int
Default value: 200
Alert if a table grows by more than this percentage in a month.
TABLE_GROWTH_RETENTION_DAYS
Type: int
Default value: 90
Number of days to retain table size history data.
TABLE_GROWTH_MIN_SIZE_BYTES
Type: int
Default value: 1048576
Minimum table size in bytes (default 1MB) to monitor. Smaller tables are ignored.
User Actions
USER_ACTIONS_ENABLED
Type: bool
Default value: True
Enable user actions notification system.
USER_ACTIONS_PENDING_ORDER_HOURS
Type: int
Default value: 24
Hours before pending order becomes a user action item (1-168).
USER_ACTIONS_HIGH_URGENCY_NOTIFICATION
Type: bool
Default value: True
Send digest notification if user has high urgency actions.
USER_ACTIONS_NOTIFICATION_THRESHOLD
Type: int
Default value: 5
Send digest notification if user has more than N actions.
USER_ACTIONS_EXECUTION_RETENTION_DAYS
Type: int
Default value: 90
Number of days to keep action execution history.
USER_ACTIONS_DEFAULT_EXPIRATION_REMINDERS
Type: list_field
Default value: [30, 14, 7, 1]
Default reminder schedule (days before expiration) for expiring resources. Can be overridden per offering via plugin_options.resource_expiration_reminders.
Features
customer.payments_for_staff_only
Make payments menu visible for staff users only.
customer.show_banking_data
Display banking related data under customer profile.
customer.show_domain
Allows to hide domain field in organization detail.
customer.show_onboarding
Enable onboarding functionality.
customer.show_permission_reviews
Allows to show permission reviews tab and popups for organisations.
deployment.enable_cookie_notice
Enable cookie notice in marketplace.
deployment.send_metrics
Send telemetry metrics.
invitations.civil_number_required
Make civil number field mandatory in invitation creation form.
invitations.conceal_civil_number
Conceal civil number in invitation creation dialog.
invitations.show_course_accounts
Show course accounts of the scopes.
invitations.show_service_accounts
Show service accounts of the scopes.
marketplace.allow_display_of_images_in_markdown
Allow display of images in markdown format.
marketplace.call_only
Allow marketplace to serve only as aggregator of call info.
marketplace.catalogue_only
Allow marketplace to function as a catalogue only.
marketplace.conceal_prices
Do not render prices in order details.
marketplace.display_offering_partitions
Enable display of offering partitions in UI.
marketplace.display_software_catalog
Enable display of software catalog in UI.
marketplace.display_user_tos
Enable display of user terms of service in UI.
marketplace.import_resources
Allow to import resources from service provider to project.
marketplace.lexis_links
Enabled LEXIS link integrations for offerings.
marketplace.show_call_management_functionality
Enabled display of call management functionality.
marketplace.show_experimental_ui_components
Enabled display of experimental or mocked components in marketplace.
marketplace.show_resource_end_date
Show resource end date as a non optional column in resources list.
openstack.hide_volume_type_selector
Allow to hide OpenStack volume type selector when instance or volume is provisioned.
openstack.show_migrations
Show OpenStack tenant migrations action and tab
project.estimated_cost
Render estimated cost column in projects list.
project.mandatory_end_date
Make the project end date mandatory.
project.mandatory_start_date
Make the project start date mandatory.
project.oecd_fos_2007_code
Enable OECD code.
project.show_credit_in_create_dialog
Show credit field in project create dialog.
project.show_description_in_create_dialog
Show description field in project create dialog.
project.show_end_date_in_create_dialog
Show end date field in project create dialog.
project.show_image_in_create_dialog
Show image field in project create dialog.
project.show_industry_flag
Show industry flag.
project.show_kind_in_create_dialog
Show kind field in project create dialog.
project.show_permission_reviews
Allows to show permission reviews tab and popups for projects.
project.show_start_date_in_create_dialog
Show start date field in project create dialog.
project.show_type_in_create_dialog
Show type field in project create dialog.
rancher.apps
Render Rancher apps as a separate tab in resource details page.
rancher.volume_mount_point
Allow to select mount point for data volume when Rancher cluster is provisioned.
slurm.jobs
Render list of SLURM jobs as a separate tab in allocation details page.
support.conceal_change_request
Conceal "Change request" from a selection of issue types for non-staff/non-support users.
support.enable_llm_assistant
Enable LLM Assistant
support.pricelist
Render marketplace plan components pricelist in support workspace.
support.vm_type_overview
Enable VM type overview in support workspace.
user.disable_user_termination
Disable user termination in user workspace.
user.notifications
Enable email and webhook notifications management in user workspace.
user.pending_user_actions
Show pending user actions.
user.preferred_language
Render preferred language column in users list.
user.show_data_access
Enable Data Access tab showing who can access user profile data.
user.show_slug
Enable display of slug field in user summary.
user.show_username
Enable display of username field in user tables.
user.ssh_keys
Enable SSH keys management in user workspace.
General Configuration
Outline:
- General Configuration
- Introduction
- Admin dashboard configuration
- Custom templates configuration
- Local time zone configuration
Introduction
Waldur is a Django-based application, so configuration is done by modifying settings.py file.
If you want to configure options related to Django, such as tune caches, database connection, configure custom logging, etc, please refer to Django documentation.
Please consult configuration guide to learn more.
Admin dashboard configuration
An admin dashboard supports custom links on Quick access panel. For instance, a panel below was configured with one additional link to https://waldur.com:
Configuration of custom links is stored under FLUENT_DASHBOARD_QUICK_ACCESS_LINKS settings key and for current example has following structure:
1 2 3 4 5 6 7 8 9 | |
Here is a short description of link parameters:
| Name | Type | Required | Description |
|---|---|---|---|
| description | string | No | Tool tip on the link |
| external | boolean | No | Specifies whether additional icon indicating an external URL has to be added |
| url | URL | Yes | A URL of the link |
| title | string | Yes | A title of the generated link |
| attrs | dict | No | A dictionary of anchor attributes to be added to generated element |
It is also possible to omit optional fields and add links by specifying only a title and a URL to the generated link.
1 2 3 4 | |
Custom templates configuration
To overwrite default templates you should use django-dbtemplates. It allows creation of templates through /admin.
Local time zone configuration
Set TIME_ZONE setting in /etc/waldur/override.conf.py to use local time zone. By default it is set to UTC. See the list of time zones for possible options.
Notifications
WALDUR_CORE.STRUCTURE
structure.change_email_request
A notification sent out when an email change is requested. Recipient is the old email address.
Templates
1 | |
1 | |
1 | |
structure.notifications_profile_changes_operator
A notification sent to Waldur operators when a user's profile is updated.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 | |
structure.structure_role_granted
A notification sent out when a role is granted. The recipient is the user who received the role.
Templates
1 | |
1 | |
1 | |
WALDUR_CORE.USERS
users.invitation_approved
Sent to a new user after their invitation is approved and a new account is created for them.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
users.invitation_created
Sent to an invited user so they can accept the invitation.
Templates
1 2 3 4 5 | |
1 2 3 4 5 6 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
users.invitation_expired
Sent to the invitation creator to inform them that an invitation has expired.
Templates
1 | |
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
users.invitation_rejected
Sent to the invitation creator to inform them that their invitation has been rejected.
Templates
1 | |
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
users.invitation_requested
Sent to staff users so they can approve or reject a pending invitation.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | |
users.permission_request_submitted
Sent to staff or customer owners about a submitted permission request.
Templates
1 | |
1 2 3 4 5 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
WALDUR_MASTERMIND.BOOKING
booking.notification
Sent to users to notify them about their upcoming bookings.
Templates
1 | |
1 2 3 4 5 6 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
WALDUR_MASTERMIND.INVOICES
invoices.notification
Sent to organization owners with a new invoice. Includes the invoice as an HTML attachment.
Templates
1 | |
1 2 3 4 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
invoices.upcoming_ends_notification
Notifies organization owners about an upcoming fixed-price contract ending.
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
WALDUR_MASTERMIND.MARKETPLACE
marketplace.marketplace_resource_create_failed
A notification of a failed resource creation
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace.marketplace_resource_create_succeeded
A notification of a successful resource creation
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace.marketplace_resource_terminate_failed
A notification of a failed resource termination
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace.marketplace_resource_terminate_succeeded
A notification of a successful resource termination
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace.marketplace_resource_termination_scheduled
Notifies project admins/managers that a resource termination was scheduled.
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
marketplace.marketplace_resource_termination_scheduled_staff
A notification of a resource termination. The recipients are project administrators and managers.
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
marketplace.marketplace_resource_update_failed
A notification of failed resource update
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace.marketplace_resource_update_limits_failed
A notification of failed resource limits update
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace.marketplace_resource_update_limits_succeeded
A notification of a successful resource limit update. The recipients are all the users in the project.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | |
marketplace.marketplace_resource_update_succeeded
A notification of a successful resource plan update. The recipients are all the users in the project.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
marketplace.notification_about_project_ending
Notifies project users about a resource that is nearing its end date.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
marketplace.notification_about_resource_ending
A notification about resource ending. The recipients are project managers and customer owners.
Templates
1 | |
1 2 3 4 5 6 7 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
marketplace.notification_about_stale_resources
Notifies organization owners about active resources that have not generated costs recently.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
marketplace.notification_to_user_that_order_been_rejected
Notification to user whose order been rejected.
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace.notification_usages
A notification about usages. The recipients are organization owners.
Templates
1 | |
1 2 3 4 5 6 7 8 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
marketplace.notify_consumer_about_pending_order
Notifies project members with approval permissions about a pending order.
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace.notify_provider_about_pending_order
Notifies service provider owners about a pending order for their offering.
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace.tos_consent_required
Notifies user that ToS consent is required to access a resource.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
marketplace.tos_reconsent_required
Notifies user that ToS has been updated and re-consent is required.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
WALDUR_MASTERMIND.MARKETPLACE_REMOTE
marketplace_remote.notification_about_pending_project_updates
A notification about pending project updates. The recipients are customer owners
Templates
1 | |
1 2 3 4 5 6 7 8 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
marketplace_remote.notification_about_project_details_update
Notifies users about a completed project update request, detailing the changes.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | |
marketplace_policy.notification_about_project_cost_exceeded_limit
Notification about project cost exceeded limit. The recipients are all customer owners of the project.
Templates
1 | |
1 2 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
WALDUR_MASTERMIND.SUPPORT
support.description
A template used for generating the issue description field during issue creation.
Templates
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
support.notification_comment_added
Notification about a new comment in the issue. The recipient is issue caller.
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
support.notification_comment_updated
Notification about an update in the issue comment. The recipient is issue caller.
Templates
1 | |
1 2 3 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
support.notification_issue_feedback
Notification about a feedback related to the issue. The recipient is issue caller.
Templates
1 | |
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | |
support.notification_issue_updated
Notification about an update in the issue. The recipient is issue caller.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
support.summary
A template used for generating the issue summary field during issue creation.
Templates
1 | |
WALDUR_MASTERMIND.PROPOSAL
proposal.new_proposal_submitted
Notifies call managers about a new proposal submission.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
proposal.new_review_submitted
A notification to the call manager about a new review submission.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
proposal.proposal_cancelled
A notification to proposal creator about the proposal cancellation.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
proposal.proposal_decision_for_reviewer
A notification to the reviewer about the proposal decision (approved/rejected) which they reviewed.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
proposal.proposal_state_changed
A notification about the proposal state changes (submitted → in review → accepted/rejected).
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | |
proposal.requested_offering_decision
A notification to call manager about the decision on requested offering (accepted/rejected).
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
proposal.review_assigned
A notification to a reviewer about a new review assignment.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
proposal.review_rejected
A notification to the call managers about a rejected review.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
proposal.reviews_complete
Notifies call managers when all required reviews for a proposal have been submitted, providing a summary.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | |
proposal.round_closing_for_managers
Notifies call managers that a round has ended, with a summary of proposals and reviews.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
proposal.round_opening_for_reviewers
A notification to reviewers about a new call round opening.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
WALDUR_CORE.ONBOARDING
onboarding.justification_review_notification
Notifies users when their onboarding justification has been reviewed.
Templates
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
Scheduled Background Jobs
This document lists all scheduled background jobs (Celery beat tasks) configured in the system.
| Job Name | Task | Schedule | Description |
|---|---|---|---|
cancel-expired-invitations |
waldur_core.users.cancel_expired_invitations |
6 hours | Invitation lifetime must be specified in Waldur Core settings with parameter "INVITATION_LIFETIME". If invitation creation time is less than expiration time, the invitation will set as expired. |
check-expired-permissions |
waldur_core.permissions.check_expired_permissions |
1 day | Task not found in registry |
check-polices |
waldur_mastermind.policy.check_polices |
Cron: * * 1 * * (m/h/dM/MY/d) |
Evaluate all policies across all policy types in the system. |
check-table-growth-alerts |
waldur_core.check_table_growth_alerts |
Cron: 0 2 * * * (m/h/dM/MY/d) |
Check for tables that have grown abnormally fast and send alerts. Compares current sizes against 7-day and 30-day historical data. |
cleanup-dangling-user-actions |
waldur_core.user_actions.cleanup_dangling_user_actions |
Cron: 30 3 * * * (m/h/dM/MY/d) |
Clean up user actions pointing to non-existent objects (fallback periodic cleanup) |
cleanup-expired-silenced-actions |
waldur_core.user_actions.cleanup_expired_silenced_actions |
Cron: 0 2 * * * (m/h/dM/MY/d) |
Remove or unsilence actions with expired temporary silence |
cleanup-old-action-executions |
waldur_core.user_actions.cleanup_old_action_executions |
Cron: 0 1 * * 0 (m/h/dM/MY/d) |
Clean up old action execution records |
cleanup-orphan-subscription-queues |
waldur_core.logging.cleanup_orphan_subscription_queues |
6 hours | Delete RabbitMQ subscription queues that have no matching DB record. This handles cases where: - The pre_delete signal failed to clean up a queue - DB records were deleted manually without triggering signals - Data corruption left orphaned queues in RabbitMQ |
cleanup-orphaned-answers |
waldur_core.checklist.cleanup_orphaned_answers |
1 day | Task not found in registry |
cleanup-software-catalogs |
marketplace.cleanup_old_software_catalogs |
Cron: 0 4 * * * (m/h/dM/MY/d) |
Periodic task to clean up old and duplicate software catalog data. This task performs two cleanup operations: 1. Removes duplicate catalogs, keeping only the newest one per (name, catalog_type) 2. Removes catalogs that haven't been updated within the retention period This task respects the SOFTWARE_CATALOG_CLEANUP_ENABLED setting. |
cleanup_stale_offering_users |
waldur_mastermind.marketplace.cleanup_stale_offering_users |
1 day | Periodic task to clean up offering users who no longer have project access. |
core-reset-updating-resources |
waldur_core.reset_updating_resources |
10 minutes | Reset resources stuck in UPDATING state when their Celery tasks are completed. |
create_customer_permission_reviews |
waldur_core.structure.create_customer_permission_reviews |
1 day | Create customer permission reviews for customers that need periodic review of user permissions. |
create_project_permission_reviews |
waldur_core.structure.create_project_permission_reviews |
1 day | Create project permission reviews for projects that need periodic review of user permissions. |
delete-dangling-event-subscriptions |
waldur_core.logging.delete_dangling_event_subscriptions |
1 hour | No description available |
delete-old-verifications |
waldur_core.onboarding.delete_old_verifications |
1 day | This task runs daily to delete verifications that are in FAILED or EXPIRED status and were last modified more than 30 days ago. |
delete-stale-event-subscriptions |
waldur_core.logging.delete_stale_event_subscriptions |
1 day | No description available |
expire-stale-verifications |
waldur_core.onboarding.expire_stale_verifications |
1 hour | This task runs hourly to check for verifications that have passed their expiration date while still in PENDING or ESCALATED status. |
expired-reviews-should-be-cancelled |
waldur_mastermind.proposal.expired_reviews_should_be_cancelled |
1 hour | Cancel reviews that have expired. |
mark-expired-assignment-batches |
waldur_mastermind.proposal.mark_expired_assignment_batches |
15 minutes | Mark assignment batches as EXPIRED when their deadline passes. |
mark-offering-backend-as-disconnected-after-timeout |
waldur_mastermind.marketplace_site_agent.mark_offering_backend_as_disconnected_after_timeout |
1 hour | No description available |
mark_agent_services_as_inactive |
waldur_mastermind.marketplace_site_agent.mark_agent_services_as_inactive |
5 minutes | No description available |
mark_resources_as_erred_after_timeout |
waldur_mastermind.marketplace.mark_resources_as_erred_after_timeout |
2 hours | Mark stale orders and their resources as erred if they have been executing for more than 2 hours. |
marketplace-openstack.create-resources-for-lost-instances-and-volumes |
waldur_mastermind.marketplace_openstack.create_resources_for_lost_instances_and_volumes |
6 hours | Create marketplace resources for OpenStack instances and volumes that exist in backend but are missing from marketplace. |
marketplace-openstack.refresh-instance-backend-metadata |
waldur_mastermind.marketplace_openstack.refresh_instance_backend_metadata |
1 day | Refresh metadata for OpenStack instances from backend to ensure marketplace resources have up-to-date information. |
marketplace-reset-stuck-updating-resources |
waldur_mastermind.marketplace.reset_stuck_updating_resources |
10 minutes | Reset marketplace resources stuck in UPDATING state. This task handles two scenarios where a resource remains in UPDATING state: 1. The resource's UPDATE order has been completed (state=DONE) but the resource state wasn't transitioned to OK due to a race condition. 2. The resource was set to UPDATING by a backend operation (e.g., sync/pull) without an order, but the operation finished without updating the state. In this case, if no UPDATE order exists or is executing, and the resource has been stuck for more than 1 hour, it is reset to OK. For each stuck resource, the task transitions it to OK state. |
notification_about_project_ending |
waldur_mastermind.marketplace.notification_about_project_ending |
Cron: 0 10 * * * (m/h/dM/MY/d) |
Send notifications about projects ending in 1 day and 7 days. |
notification_about_resource_ending |
waldur_mastermind.marketplace.notification_about_resource_ending |
Cron: 0 10 * * * (m/h/dM/MY/d) |
Send notifications about resources ending in 1 day and 7 days. |
notify-managers-of-expired-batches |
waldur_mastermind.proposal.notify_managers_of_expired_batches |
30 minutes | Notify call managers when batches expire without response. |
notify_about_stale_resource |
waldur_mastermind.marketplace.notify_about_stale_resource |
Cron: 0 15 5 * * (m/h/dM/MY/d) |
Notify customers about resources that have not generated invoice items in the last 3 months. |
notify_manager_on_round_cutoff |
waldur_mastermind.proposal.notify_manager_on_round_cutoff |
1 hour | No description available |
notify_reviewer_on_round_start |
waldur_mastermind.proposal.notify_reviewer_on_round_start |
1 day | No description available |
openstack-delete-expired-backups |
openstack.DeleteExpiredBackups |
10 minutes | Delete expired OpenStack backup resources that have reached their retention period. |
openstack-delete-expired-snapshots |
openstack.DeleteExpiredSnapshots |
10 minutes | Delete expired OpenStack snapshot resources that have reached their retention period. |
openstack-tenant-properties-list-pull-task |
openstack.tenant_properties_list_pull_task |
1 day | Pull OpenStack tenant properties like flavors, images, and volume types from backend. |
openstack-tenant-pull-quotas |
openstack.TenantPullQuotas |
12 hours | Pull quota limits and usage information for all OpenStack tenants. |
openstack-tenant-resources-list-pull-task |
openstack.tenant_resources_list_pull_task |
1 hour | Pull OpenStack tenant resources like instances, volumes, and snapshots from backend. |
openstack-tenant-subresources-list-pull-task |
openstack.tenant_subresources_list_pull_task |
2 hours | Pull OpenStack tenant subresources like security groups, networks, subnets, and ports from backend. |
openstack_mark_as_erred_old_tenants_in_deleting_state |
openstack.mark_as_erred_old_tenants_in_deleting_state |
1 day | Mark OpenStack tenants as erred if they have been in deleting state for more than 1 day. |
openstack_mark_stuck_updating_tenants_as_erred |
openstack.mark_stuck_updating_tenants_as_erred |
1 hour | No description available |
process-pending-project-invitations |
waldur_core.users.process_pending_project_invitations |
2 hours | Process project invitations for projects that have become active. |
process_pending_project_orders |
waldur_mastermind.marketplace.process_pending_project_orders |
2 hours | Process orders for projects that have become active. |
process_pending_start_date_orders |
waldur_mastermind.marketplace.process_pending_start_date_orders |
2 hours | Finds orders that are pending activation due to a future start date and moves them to the EXECUTING state if the start date has been reached. |
proposals-for-ended-rounds-should-be-cancelled |
waldur_mastermind.proposal.proposals_for_ended_rounds_should_be_cancelled |
1 hour | Cancel proposals for rounds that have ended. |
pull-priorities |
waldur_mastermind.support.pull_priorities |
1 day | Pull priority levels from the active support backend. |
pull-service-properties |
waldur_core.structure.ServicePropertiesListPullTask |
1 day | Pull service properties from all active service backends. |
pull-service-resources |
waldur_core.structure.ServiceResourcesListPullTask |
Hourly (at minute 0) | Pull resources from all active service backends. |
pull-support-users |
waldur_mastermind.support.pull_support_users |
6 hours | Pull support users from the active support backend. |
reconcile_robot_account_access |
waldur_mastermind.marketplace.reconcile_robot_account_access |
Cron: 30 2 * * * (m/h/dM/MY/d) |
Reconciliation task to ensure robot account access is properly maintained. This task periodically checks all robot accounts and removes users who no longer have active project access, serving as a backup to the signal-driven cleanup. |
remove_deleted_robot_accounts |
waldur_mastermind.marketplace.remove_deleted_robot_accounts |
1 day | Remove robot accounts that are in DELETED state. This task runs daily to clean up robot accounts that have been marked for deletion. |
resend-stuck-invitations |
waldur_core.users.resend_stuck_invitations |
1 hour | Reconcile stuck invitations that were never sent due to errors or broker/worker downtime. |
revoke_outdated_consents |
waldur_mastermind.marketplace.revoke_outdated_consents |
1 day | Revoke consents for users who haven't re-consented within grace period. Finds all active ToS with requires_reconsent=True where grace period has expired, and revokes all consents that don't match the current active ToS version. |
sample-table-sizes |
waldur_core.sample_table_sizes |
Cron: 0 1 * * * (m/h/dM/MY/d) |
Sample all database table sizes and store them for trend analysis. This task runs daily to collect historical data for detecting abnormal growth patterns. |
send-action-digest-notifications |
waldur_core.user_actions.send_action_digest_notifications |
Cron: 0 9 * * * (m/h/dM/MY/d) |
Send daily digest notifications to users with pending actions |
send-assignment-expiry-reminders |
waldur_mastermind.proposal.send_assignment_expiry_reminders |
1 day | Send reminder to reviewers before their assignment expires. |
send-messages-about-pending-orders |
waldur_mastermind.marketplace_site_agent.send_messages_about_pending_orders |
1 hour | Send a message about pending orders created 1 hour ago. Uses MessageStateTracker to skip sending if order state hasn't changed since the last notification, preventing redundant messages from hourly task execution. |
send-monthly-invoicing-reports-about-customers |
invoices.send_monthly_invoicing_reports_about_customers |
Cron: 0 0 2 * * (m/h/dM/MY/d) |
Send monthly invoicing reports via email to configured recipients. |
send-notifications-about-upcoming-ends |
invoices.send_notifications_about_upcoming_ends |
1 day | Send notifications about upcoming end dates of fixed payment profiles. |
send-reminder-for-pending-invitations |
waldur_core.users.send_reminder_for_pending_invitations |
1 day | Send reminder emails for pending invitations that are about to expire. |
send-scheduled-broadcast-notifications |
waldur_mastermind.notifications.send_scheduled_broadcast_messages |
12 hours | Send broadcast messages that have been scheduled for delivery. |
send_telemetry |
waldur_mastermind.marketplace.send_metrics |
1 day | Send anonymous usage metrics and telemetry data to the Waldur team. |
structure-set-erred-stuck-resources |
waldur_core.structure.SetErredStuckResources |
1 hour | This task marks all resources which have been provisioning for more than 3 hours as erred. |
sync-resources |
waldur_mastermind.marketplace_site_agent.sync_resources |
10 minutes | Sync resources that haven't been updated in the last hour. Processes only resources that users have subscribed to receive updates for. |
sync-user-deactivation-status |
waldur_core.permissions.sync_user_deactivation_status |
3 hours | Task not found in registry |
sync_request_types |
waldur_mastermind.support.sync_request_types |
1 day | Synchronize request types from the active support backend. |
terminate_expired_resources |
waldur_mastermind.marketplace.terminate_expired_resources |
Cron: 20 1 * * * (m/h/dM/MY/d) |
Terminate marketplace resources that have reached their end date. |
terminate_resources_if_project_end_date_has_been_reached |
waldur_mastermind.marketplace.terminate_resources_if_project_end_date_has_been_reached |
Cron: 40 1 * * * (m/h/dM/MY/d) |
Terminate resources when their project has reached its end date (including grace period). |
terminate_resources_in_state_erred_without_backend_id_and_failed_terminate_order |
waldur_mastermind.marketplace.terminate_resources_in_state_erred_without_backend_id_and_failed_terminate_order |
1 day | Clean up erred Slurm resources that failed both creation and termination. |
update-custom-quotas |
waldur_core.quotas.update_custom_quotas |
1 hour | Task not found in registry |
update-invoices-total-cost |
invoices.update_invoices_total_cost |
1 day | Update cached total cost for current month invoices. |
update-software-catalogs |
marketplace.update_software_catalogs |
Cron: 0 3 * * * (m/h/dM/MY/d) |
Daily task to update all enabled software catalogs. Updates EESSI, Spack, and other configured catalogs independently. Each catalog is processed in isolation - if one fails, others continue. |
update-standard-quotas |
waldur_core.quotas.update_standard_quotas |
1 day | Task not found in registry |
update-user-actions |
waldur_core.user_actions.update_user_actions |
Cron: 0 */6 * * * (m/h/dM/MY/d) |
Update actions for all providers or specific provider |
update_daily_consent_history |
waldur_mastermind.marketplace.update_daily_consent_history |
1 day | Daily task to update consent history statistics for dashboard reporting. Uses quota system + DailyQuotaHistory for historical tracking. |
valimo-auth-cleanup-auth-results |
waldur_auth_valimo.cleanup_auth_results |
1 hour | Clean up Valimo authentication results older than 7 days. |
waldur-chat-reset-daily-token-usage |
waldur_mastermind.chat.reset_daily_token_usage |
Daily (at midnight) | Task not found in registry |
waldur-chat-reset-monthly-token-usage |
waldur_mastermind.chat.reset_monthly_token_usage |
Monthly (1st day of month at midnight) | Task not found in registry |
waldur-chat-reset-weekly-token-usage |
waldur_mastermind.chat.reset_weekly_token_usage |
Cron: 0 0 * * 1 (m/h/dM/MY/d) |
Task not found in registry |
waldur-create-invoices |
invoices.create_monthly_invoices |
Monthly (1st day of month at midnight) | - For every customer change state of the invoices for previous months from "pending" to "billed" and freeze their items. - Create new invoice for every customer in current month if not created yet. |
waldur-create-offering-users-for-site-agent-offerings |
waldur_mastermind.marketplace_site_agent.sync_offering_users |
1 day | No description available |
waldur-firecrest-pull-jobs |
waldur_firecrest.pull_jobs |
1 hour | Pull SLURM jobs from Firecrest API for all offering users with valid OAuth tokens. |
waldur-freeipa-sync-groups |
waldur_freeipa.sync_groups |
10 minutes | This task is used by Celery beat in order to periodically schedule FreeIPA group synchronization. |
waldur-freeipa-sync-names |
waldur_freeipa.sync_names |
1 day | Synchronize user names between Waldur and FreeIPA backend. |
waldur-marketplace-calculate-usage |
waldur_mastermind.marketplace.calculate_usage_for_current_month |
1 hour | Calculate marketplace resource usage for the current month across all customers and projects. |
waldur-marketplace-script-pull-resources |
waldur_marketplace_script.pull_resources |
1 hour | Pull resources from marketplace script offerings by executing configured pull scripts. |
waldur-marketplace-script-remove-old-dry-runs |
waldur_marketplace_script.remove_old_dry_runs |
1 day | Remove old dry run records that are older than one day. |
waldur-mastermind-reject-past-bookings |
waldur_mastermind.booking.reject_past_bookings |
Cron: 0 10 * * * (m/h/dM/MY/d) |
Reject booking resources that have start times in the past. |
waldur-mastermind-send-notifications-about-upcoming-bookings |
waldur_mastermind.booking.send_notifications_about_upcoming_bookings |
Cron: 0 9 * * * (m/h/dM/MY/d) |
Send email notifications to users about their upcoming bookings. |
waldur-openportal-send-notifications |
waldur_openportal.send_notifications |
47 minutes | This task is called to send notifications to all users associated with any OpenPortal allocations. |
waldur-openportal-sync-allocation-limits |
waldur_openportal.sync_allocation_limits |
17 minutes | This task updates the resource limits for all allocations based on project credits and current usage. This should be run after sync_usage to ensure all usage data is current. |
waldur-openportal-sync-offering-agents |
waldur_openportal.sync_offering_agents |
19 minutes | This task is called to sync the agents for all offerings that are associated with remote OpenPortal backends. |
waldur-openportal-sync-remote |
waldur_openportal.sync_remote |
29 minutes | This is a full OpenPortal remote sync - this will go through all remote projects and make sure that they have been created and any updates applied |
waldur-openportal-sync-remote-usage |
waldur_openportal.sync_remote_usage |
9 minutes | This task is called to synchronise the usage for all remote allocations |
waldur-openportal-sync-usage |
waldur_openportal.sync_usage |
7 minutes | This task is called to synchronise the usage for all allocations. It processes allocations by customer in parallel, but serially within each customer. Note: This task schedules parallel subtasks and returns immediately. The sync_allocation_limits task should be scheduled separately (e.g., via cron) to run after this task typically completes to update resource limits. |
waldur-openportal-sync-users |
waldur_openportal.sync |
1 hour, 59 minutes | This is a full OpenPortal sync - this will go through all projects and ensure that only users associated with those projects have the correct associations with any OpenPortal allocations. This will add and remove users as needed. |
waldur-pid-update-all-referrables |
waldur_pid.update_all_referrables |
1 day | Update DataCite DOI information for all referrable objects with existing DOIs. |
waldur-pull-remote-eduteams-ssh-keys |
waldur_auth_social.pull_remote_eduteams_ssh_keys |
3 minutes | Task not found in registry |
waldur-pull-remote-eduteams-users |
waldur_auth_social.pull_remote_eduteams_users |
5 minutes | Task not found in registry |
waldur-rancher-delete-leftover-keycloak-groups |
waldur_rancher.delete_leftover_keycloak_groups |
1 hour | Delete remote Keycloak groups with no linked groups in Waldur |
waldur-rancher-delete-leftover-keycloak-memberships |
waldur_rancher.delete_leftover_keycloak_memberships |
1 hour | Delete remote Keycloak user memberships in groups with no linked instances in Waldur |
waldur-rancher-sync-keycloak-users |
waldur_rancher.sync_keycloak_users |
15 minutes | Synchronize Keycloak users with pending group memberships in Rancher. |
waldur-rancher-sync-rancher-group-bindings |
waldur_rancher.sync_rancher_group_bindings |
1 hour | Sync group bindings in Rancher with the groups in Waldur. |
waldur-rancher-sync-rancher-roles |
waldur_rancher.sync_rancher_roles |
1 hour | Synchronize Rancher roles with local role templates for clusters and projects. |
waldur-rancher-update-clusters-nodes |
waldur_rancher.pull_all_clusters_nodes |
1 day | Pull node information for all Rancher clusters and update their states. |
waldur-remote-notify-about-pending-project-update-requests |
waldur_mastermind.marketplace_remote.notify_about_pending_project_update_requests |
7 days | Notify about pending project update requests. This task sends email notifications to project owners about pending project update requests that have been waiting for more than a week. Runs weekly via celery beat. |
waldur-remote-offerings-sync |
waldur_mastermind.marketplace_remote.remote_offerings_sync |
1 day | Synchronize remote offerings based on RemoteSynchronisation configurations. This task processes active remote synchronization configurations, running synchronization for each configured remote marketplace. Runs daily via celery beat. |
waldur-remote-pull-erred-orders |
waldur_mastermind.marketplace_remote.pull_erred_orders |
1 day | Pull and synchronize erred remote marketplace orders. This task specifically handles erred local orders that may have been resolved in remote Waldur instances. It synchronizes UPDATE and TERMINATE order states and adjusts local resource states accordingly. Runs daily via celery beat. |
waldur-remote-pull-invoices |
waldur_mastermind.marketplace_remote.pull_invoices |
1 hour | Pull and synchronize remote marketplace resource invoice data. This task synchronizes invoice items for marketplace resources from remote Waldur instances, including current and previous month data. Runs every 60 minutes via celery beat. |
waldur-remote-pull-maintenance-announcements |
waldur_mastermind.marketplace_remote.pull_maintenance_announcements |
1 hour | Pull and synchronize remote maintenance announcements. This task synchronizes maintenance announcements from remote Waldur instances, Runs every 60 minutes via celery beat. |
waldur-remote-pull-offering-users |
waldur_mastermind.marketplace_remote.pull_offering_users |
1 hour | Pull and synchronize remote marketplace offering users. This task synchronizes user associations with marketplace offerings from remote Waldur instances, ensuring local user mappings are up to date. Runs every 60 minutes via celery beat. |
waldur-remote-pull-offerings |
waldur_mastermind.marketplace_remote.pull_offerings |
1 hour | Pull and synchronize remote marketplace offerings. This task synchronizes offerings from remote Waldur instances, updating local offering data including components, plans, and access endpoints. Runs every 60 minutes via celery beat. |
waldur-remote-pull-orders |
waldur_mastermind.marketplace_remote.pull_orders |
1 hour | Pull and synchronize remote marketplace orders. This task synchronizes order states from remote Waldur instances, updating local order states and associated resource backend IDs. Only processes non-terminal orders. Runs every 60 minutes via celery beat. |
waldur-remote-pull-resources |
waldur_mastermind.marketplace_remote.pull_resources |
1 hour | Pull and synchronize remote marketplace resources. This task synchronizes resource data from remote Waldur instances, updating local resource states and importing remote orders when needed. Runs every 60 minutes via celery beat. |
waldur-remote-pull-robot-accounts |
waldur_mastermind.marketplace_remote.pull_robot_accounts |
1 hour | Pull and synchronize remote marketplace resource robot accounts. This task synchronizes robot account data for marketplace resources from remote Waldur instances, including account types, usernames, and keys. Runs every 60 minutes via celery beat. |
waldur-remote-pull-usage |
waldur_mastermind.marketplace_remote.pull_usage |
1 hour | Pull and synchronize remote marketplace resource usage data. This task synchronizes component usage data from remote Waldur instances, including both regular usage and user-specific usage metrics. Pulls usage data from the last 4 months. Runs every 60 minutes via celery beat. |
waldur-remote-push-project-data |
waldur_mastermind.marketplace_remote.push_remote_project_data |
1 day | Push project data to remote Waldur instances. This task pushes local project data (name, description, end date, etc.) to remote Waldur instances for projects that have marketplace resources. Runs daily via celery beat. |
waldur-remote-reconcile-resource-end-dates |
waldur_mastermind.marketplace_remote.reconcile_resource_end_dates |
1 day | No description available |
waldur-remote-sync-remote-project-permissions |
waldur_mastermind.marketplace_remote.sync_remote_project_permissions |
6 hours | Synchronize project permissions with remote Waldur instances. This task ensures that project permissions are synchronized between local and remote Waldur instances when eduTEAMS sync is enabled. It creates remote projects if needed and manages user role assignments. Runs every 6 hours via celery beat. Optimization: Caches remote user UUIDs per API endpoint to avoid redundant lookups when the same user appears across multiple projects/offerings. |
waldur-sync-daily-quotas |
analytics.sync_daily_quotas |
1 day | Task not found in registry |
waldur-update-all-pid |
waldur_pid.update_all_pid |
1 day | Update all PID (Persistent Identifier) information for referrable objects with DataCite DOIs. |
waldur_mastermind.marketplace_rancher.report_rancher_usage |
waldur_mastermind.marketplace_rancher.report_rancher_usage |
1 hour | No description available |
Message templates
waldur_core.core
table_growth_alert_message.txt (waldur_core.core)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
table_growth_alert_message.html (waldur_core.core)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | |
table_growth_alert_subject.txt (waldur_core.core)
1 | |
waldur_core.structure
notifications_profile_changes_operator_subject.txt (waldur_core.structure)
1 | |
notifications_profile_changes.html (waldur_core.structure)
1 2 3 4 5 | |
change_email_request_subject.txt (waldur_core.structure)
1 | |
notifications_profile_changes_operator_message.html (waldur_core.structure)
1 2 3 4 5 6 7 8 9 10 | |
structure_role_granted_message.txt (waldur_core.structure)
1 | |
structure_role_granted_subject.txt (waldur_core.structure)
1 | |
change_email_request_message.html (waldur_core.structure)
1 | |
change_email_request_message.txt (waldur_core.structure)
1 | |
notifications_profile_changes_operator_message.txt (waldur_core.structure)
1 2 3 4 5 6 7 8 9 10 | |
structure_role_granted_message.html (waldur_core.structure)
1 | |
waldur_core.onboarding
justification_review_notification_message.txt (waldur_core.onboarding)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
justification_review_notification_message.html (waldur_core.onboarding)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
justification_review_notification_subject.txt (waldur_core.onboarding)
1 | |
waldur_core.users
invitation_approved_subject.txt (waldur_core.users)
1 | |
invitation_created_message.html (waldur_core.users)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
permission_request_submitted_message.html (waldur_core.users)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
invitation_approved_message.txt (waldur_core.users)
1 2 3 4 5 6 7 8 9 10 11 | |
invitation_created_message.txt (waldur_core.users)
1 2 3 4 5 6 | |
invitation_expired_message.html (waldur_core.users)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
invitation_approved_message.html (waldur_core.users)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
invitation_expired_subject.txt (waldur_core.users)
1 | |
invitation_expired_message.txt (waldur_core.users)
1 2 3 4 | |
invitation_rejected_message.txt (waldur_core.users)
1 2 3 4 5 6 7 8 9 | |
invitation_rejected_subject.txt (waldur_core.users)
1 | |
invitation_created_subject.txt (waldur_core.users)
1 2 3 4 5 | |
permission_request_submitted_subject.txt (waldur_core.users)
1 | |
invitation_requested_message.txt (waldur_core.users)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
invitation_rejected_message.html (waldur_core.users)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
permission_request_submitted_message.txt (waldur_core.users)
1 2 3 4 5 | |
invitation_requested_message.html (waldur_core.users)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | |
invitation_requested_subject.txt (waldur_core.users)
1 | |
waldur_core.logging
email.html (waldur_core.logging)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
waldur_mastermind.booking
notification_message.txt (waldur_mastermind.booking)
1 2 3 4 5 6 | |
notification_message.html (waldur_mastermind.booking)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
notification_subject.txt (waldur_mastermind.booking)
1 | |
waldur_mastermind.invoices
monthly_invoicing_reports.html (waldur_mastermind.invoices)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | |
report_body.txt (waldur_mastermind.invoices)
1 | |
invoice.html (waldur_mastermind.invoices)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | |
notification_message.txt (waldur_mastermind.invoices)
1 2 3 4 | |
upcoming_ends_notification_message.txt (waldur_mastermind.invoices)
1 2 3 | |
upcoming_ends_notification_subject.txt (waldur_mastermind.invoices)
1 | |
report_subject.txt (waldur_mastermind.invoices)
1 | |
notification_message.html (waldur_mastermind.invoices)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
upcoming_ends_notification_message.html (waldur_mastermind.invoices)
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
notification_subject.txt (waldur_mastermind.invoices)
1 | |
waldur_mastermind.marketplace
notification_about_project_ending_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_update_limits_succeeded_message.txt (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
tos_reconsent_required_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_update_limits_succeeded_subject.txt (waldur_mastermind.marketplace)
1 | |
notification_about_stale_resources_message.txt (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 | |
marketplace_plan_template.txt (waldur_mastermind.marketplace)
1 2 3 | |
notification_usages_message.txt (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 | |
notify_consumer_about_pending_order_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_termination_scheduled_staff_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
marketplace_resource_update_succeeded_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
marketplace_resource_update_failed_subject.txt (waldur_mastermind.marketplace)
1 | |
notify_provider_about_pending_order_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
tos_reconsent_required_message.txt (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace_resource_terminate_failed_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_update_succeeded_message.txt (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
notification_to_user_that_order_been_rejected_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_update_failed_message.txt (waldur_mastermind.marketplace)
1 2 3 | |
notification_about_stale_resources_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
marketplace_resource_create_failed_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
notify_consumer_about_pending_order_message.txt (waldur_mastermind.marketplace)
1 2 3 | |
marketplace_resource_create_succeeded_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace_resource_update_limits_failed_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace_resource_update_limits_succeeded_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | |
tos_consent_required_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
marketplace_resource_update_failed_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
notification_about_resource_ending_message.txt (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 | |
notification_about_project_ending_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
marketplace_resource_create_failed_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_update_limits_failed_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_terminate_failed_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
notification_usages_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
marketplace_resource_terminate_succeeded_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace_resource_termination_scheduled_staff_subject.txt (waldur_mastermind.marketplace)
1 | |
notification_about_stale_resources_subject.txt (waldur_mastermind.marketplace)
1 | |
notify_provider_about_pending_order_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_terminate_succeeded_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_termination_scheduled_message.txt (waldur_mastermind.marketplace)
1 2 3 | |
tos_consent_required_message.txt (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
notification_about_resource_ending_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
notification_about_project_ending_message.txt (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
notification_to_user_that_order_been_rejected_message.txt (waldur_mastermind.marketplace)
1 2 3 | |
notification_about_resource_ending_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_update_succeeded_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_update_limits_failed_message.txt (waldur_mastermind.marketplace)
1 2 3 | |
marketplace_resource_termination_scheduled_subject.txt (waldur_mastermind.marketplace)
1 | |
tos_reconsent_required_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
notify_consumer_about_pending_order_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace_resource_terminate_failed_message.txt (waldur_mastermind.marketplace)
1 2 3 | |
marketplace_resource_termination_scheduled_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
notification_to_user_that_order_been_rejected_message.html (waldur_mastermind.marketplace)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
marketplace_resource_create_failed_message.txt (waldur_mastermind.marketplace)
1 2 3 | |
tos_consent_required_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_termination_scheduled_staff_message.txt (waldur_mastermind.marketplace)
1 2 3 | |
marketplace_resource_create_succeeded_subject.txt (waldur_mastermind.marketplace)
1 | |
marketplace_resource_terminate_succeeded_message.txt (waldur_mastermind.marketplace)
1 2 3 | |
notify_provider_about_pending_order_message.txt (waldur_mastermind.marketplace)
1 2 3 | |
marketplace_resource_create_succeeded_message.txt (waldur_mastermind.marketplace)
1 2 3 | |
notification_usages_subject.txt (waldur_mastermind.marketplace)
1 | |
waldur_mastermind.marketplace_remote
notification_about_pending_project_updates_message.txt (waldur_mastermind.marketplace_remote)
1 2 3 4 5 6 7 8 | |
notification_about_pending_project_updates_subject.txt (waldur_mastermind.marketplace_remote)
1 | |
notification_about_project_details_update_message.txt (waldur_mastermind.marketplace_remote)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | |
notification_about_project_details_update_message.html (waldur_mastermind.marketplace_remote)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | |
notification_about_pending_project_updates_message.html (waldur_mastermind.marketplace_remote)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
notification_about_project_details_update_subject.txt (waldur_mastermind.marketplace_remote)
1 | |
waldur_mastermind.marketplace_support
create_project_membership_update_issue.txt (waldur_mastermind.marketplace_support)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
terminate_resource_template.txt (waldur_mastermind.marketplace_support)
1 2 3 | |
update_resource_template.txt (waldur_mastermind.marketplace_support)
1 2 3 | |
create_resource_template.txt (waldur_mastermind.marketplace_support)
1 2 3 4 5 6 7 8 9 | |
update_limits_template.txt (waldur_mastermind.marketplace_support)
1 2 3 4 | |
waldur_mastermind.proposal
round_opening_for_reviewers_subject.txt (waldur_mastermind.proposal)
1 | |
review_rejected_subject.txt (waldur_mastermind.proposal)
1 | |
proposal_decision_for_reviewer_message.txt (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
proposal_state_changed_message.txt (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | |
new_review_submitted_message.html (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
round_closing_for_managers_message.html (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
new_proposal_submitted_message.html (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
proposal_state_changed_subject.txt (waldur_mastermind.proposal)
1 | |
proposal_decision_for_reviewer_subject.txt (waldur_mastermind.proposal)
1 | |
reviews_complete_subject.txt (waldur_mastermind.proposal)
1 | |
reviews_complete_message.txt (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
proposal_cancelled_subject.txt (waldur_mastermind.proposal)
1 | |
new_review_submitted_message.txt (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
requested_offering_decision_message.txt (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
review_assigned_subject.txt (waldur_mastermind.proposal)
1 | |
round_opening_for_reviewers_message.html (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
reviews_complete_message.html (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | |
review_rejected_message.html (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
review_assigned_message.txt (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
requested_offering_decision_message.html (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
round_opening_for_reviewers_message.txt (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
round_closing_for_managers_message.txt (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
new_proposal_submitted_subject.txt (waldur_mastermind.proposal)
1 | |
proposal_cancelled_message.html (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
new_proposal_submitted_message.txt (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
review_rejected_message.txt (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
round_closing_for_managers_subject.txt (waldur_mastermind.proposal)
1 | |
proposal_state_changed_message.html (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | |
new_review_submitted_subject.txt (waldur_mastermind.proposal)
1 | |
requested_offering_decision_subject.txt (waldur_mastermind.proposal)
1 | |
proposal_decision_for_reviewer_message.html (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
review_assigned_message.html (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
proposal_cancelled_message.txt (waldur_mastermind.proposal)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
waldur_mastermind.support
notification_comment_updated_message.txt (waldur_mastermind.support)
1 2 3 | |
notification_comment_updated_message.html (waldur_mastermind.support)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
description.txt (waldur_mastermind.support)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
summary.txt (waldur_mastermind.support)
1 | |
notification_issue_updated_subject.txt (waldur_mastermind.support)
1 | |
notification_comment_added_message.html (waldur_mastermind.support)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
notification_issue_feedback_message.html (waldur_mastermind.support)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | |
notification_issue_feedback_message.txt (waldur_mastermind.support)
1 2 3 4 5 6 7 8 9 | |
notification_comment_added_message.txt (waldur_mastermind.support)
1 2 3 | |
notification_issue_feedback_subject.txt (waldur_mastermind.support)
1 | |
notification_comment_added_subject.txt (waldur_mastermind.support)
1 | |
notification_issue_updated_message.txt (waldur_mastermind.support)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
notification_issue_updated_message.html (waldur_mastermind.support)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
notification_comment_updated_subject.txt (waldur_mastermind.support)
1 | |
Ended: Mastermind configuration
Providers ↵
Azure
Overview
This guide will help you set up Azure integration with Waldur by creating a service principal and collecting the necessary credentials. You can use either the Azure CLI (recommended) or the Azure Portal.
Prerequisites
- An Azure account with an active subscription
- One of the following:
- Azure CLI installed (for CLI method) - Install Azure CLI
- Sufficient Azure permissions (for either method):
- To create service principals: Cloud Application Administrator role or higher in Microsoft Entra ID
- To assign roles: Owner or User Access Administrator role on the subscription
Login to Azure CLI
1 | |
This will open a browser window for authentication. Complete the login process.
Get Your Subscription ID
1 | |
Save this value - you'll need it for Waldur configuration.
Register Resource Providers
To avoid errors when creating Virtual Machines and related resources, register the necessary resource providers:
1 2 3 4 5 6 7 8 | |
Verify registration:
1 2 | |
Create Service Principal with Role Assignment
Run the following command to create a service principal with Contributor access to your subscription:
1 2 3 4 | |
Replace <YOUR_SUBSCRIPTION_ID> with the subscription ID from Step 2.
Tip
You can use a different role if needed. See Azure built-in roles for other options.
Save the Output
The command will output JSON containing all the credentials you need:
1 2 3 4 5 6 | |
Map these values for Waldur:
appId→ Client IDpassword→ Client Secrettenant→ Tenant ID- Subscription ID from Step 2 → Subscription ID
Warning
The password (Client Secret) is only shown once. Save it immediately in a secure location.
Custom scripts
Custom scripts is a type of plugin that allows defining custom scripts that are executed
at different lifecycle events of the resource. The scripts are executed in one time containers.
Depending on the deployment type, it can be either a docker container for docker-compose-based, or
Kubernetes Jobs for Helm-based deployments.
The following lifecycle events are supported:
- Creation;
- Update - change of plans or limits;
- Termination;
- Regular updates - executed once per hour, aka pull script.
Script output format
It is possible to control certain aspects of resource management with outputs of the custom scripts. Below we list currently supported conventions and their impact.
Creation script
You can set the the backend_id of the created resource by passing a single string as the last line of the output.
1 2 3 4 5 | |
If you want to save additional metadata, then last line of output should consist of 2 space separated strings:
- ID of the created resource that will be saved as backend_id;
- Base64 encoded metadata object.
1 2 3 4 5 6 7 | |
Regular updates script
The script for regular updates allows to update usage information as well as provide updates of reporting. In all cases the last line should include a base64-encoded string containing a dictionary with keywords:
- "usages" for usage reporting;
- "report" for updating resource report.
Examples of Python-based scripts are:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Example scripts
Each of the scripts below require access to remote Waldur instance. Credentials for this passed as environment variables to the scripts with keys:
WALDUR_API_URL- URL of remote Waldur API including/api/path, example:http://localhost/api/WALDUR_API_TOKEN- token for a remote user with permissions of service provider owner
Script for resource creation
In the remote Waldur site, customer and offering should be pre-created for successful resource creation. Please, add the necessary variables to the local offering's environment:
REMOTE_CUSTOMER_NAME- name of the pre-created customer in the remote WaldurREMOTE_OFFERING_UUID- UUID of the remote offering for creation of the remote resourcePROJECT_NAME- name of the remote project to be createdPI_EMAILS- optional comma-separated list of emails receiving invitations to the project after creation of the remote resourceREMOTE_PROJECT_CREDIT_AMOUNT- optional amount of credit applied to the remote project
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | |
Script for usage pull
This script periodically pulls usage data of the remote resource and saves it locally.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | |
Script for resource termination
This script terminates the remote resource.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | |
MOAB
MOAB is a scheduling engine for HPC centers from Adaptive Computing.
Waldur implementation of support for MOAB is done via the Waldur site agent.
OpenStack (Tenant)
Requirements for OpenStack (Tenant)
OpenStack versions tested:
- Queens
- Rocky
- Stein
- Train
- Ussuri
- Victoria
- Wallaby
- Xena
- Yoga
- Zed
- Antelope
In order to integrate an OpenStack-based cloud as a shared provider, the following data is required:
- URL of Keystone's public endpoint (v3).
- Access to public interfaces of Keystone, Nova, Cinder, Neutron and Glance should be opened to Waldur MasterMind server.
- Admin credentials (username/password) as well as domain name (in case non-default domain is used).
- External network UUID - the network will be by default connected to all created OpenStack Projects (Tenants).
Advanced settings
It's possible to override some settings for OpenStack in MasterMind admin interface. To do that, please go to Waldur MasterMind Admin interface with a staff account.
Go to Structure → Shared provider settings and select the one you want to update.
Define specific customisation options. To add an option select append on item block under the object tree. Most typical are:
- external_network_id – external network to connect to when creating a VPC from this provider.
- access_url - a URL to access OpenStack Horizon dashboard from a public network. Typically a reverse proxy URL in production deployments.
- flavor_exclude_regex - flavors matching this regex expression will not be pulled from the backend.
- dns_nameservers - default value for new subnets DNS name servers. Should be defined as list.
- create_ha_routers - create highly available Neutron routers when creating Tenants.
Support for Organization specific OpenStack networks
You can provide specific external network for all OpenStack Tenants created by Organiztion by providing external network UUIDs in Organization configuration in Waldur Mastermind admin portal.
Remote Offering
Warning
Documentation is in progress. Plugin development is in progress.
Introduction
It is possible to import into a Waldur offerings from a remote Waldur.
Pre-requisites
- An organization in the remote Waldur, which will contain requests and projects from the local Waldur.
- Account with owner role that will be used for integration.
- Access to APIs of remote Waldur.
High level process
- In local Waldur, make sure that you have a service provider organization available.
- Click on "Import offering".
- Input remote Waldur API and authentication token.
- Select the remote organization and offering to be imported.
- Review and activate the offering.
eduTEAMS account SYNC
In case both local and remote Waldurs are relying on a common set of identities from eduTEAMS, it is possible to configure synchronisation of the identities as well, i.e. when a resource is provisioned in a remote Waldur, local accounts from organization and project are pushed and mapped to the remote project.
Note
For this to work, remote Waldur must be integrated with eduTEAMS registry and integration user must have
identity_manager role.
Remote offering actions
Remote offering actions are available in the integration section of the offering edit page.
SLURM provider
SLURM plugin enables sharing of access to a SLURM cluster. SLURM is a scheduling system used typically for managing High-performance clusters. Waldur allows to share access by creating Slurm accounts and managing permission rights of users.
Important note
This page describes the legacy marketplace plugin for SLURM. For the new SLURM plugin, we recommend to check this page
Configure Waldur SLURM plugin
By default, Waldur creates a hierarchical account structure in SLURM, where:
- Organization gets an account under a default account, defined when configuring SLURM service offering;
- Each project is created as a an allocation, which is a child of organization's account.
- Each resource created in Waldur (aka SLURM Allocation) gets its own SLURM account with project account as a parent.
These accounts get standard prefixes along with unique values and user provided input. It is possible to customize prefixes in Waldur configuration. Check WALDUR_SLURM variables in Waldur configuration guide.
Add SLURM provider
To add SLURM as a provider to Waldur, you will need the following information:
- SSH host address to a node, from where SLURM commands could be executed.
- Username that has Slurm operator role. Operator is needed as Waldur dynamically creates accounts based on user's choice of FreeIPA account.
- Waldur public key must be added as authorized_key for the operator's username.
- Slurm login node must be configured to authenticate users coming from FreeIPA connected to Waldur.
SLURM auto-provisioning hooks
It is possible to streamline creation of SLURM allocations for new users based on affiliation of a user profile. Configuration settings are described in Waldur configuration guide under WALDUR_HPC settings.
The logic is as follows:
- Once a user is created (e.g. via eduGAIN login), user's affiliation and email are checked to see if user belongs to internal or external organization.
- If so, a project is created for the user in a corresponding organization.
- For users belonging to internal organization, SLURM request is pre-filled and created using account limits of internal organizations.
- For users belonging to external organization, SLURM request is pre-filled only - it would require a manual confirmation from the organization owner of the external organization to be provisioned. Default limits of SLURM apply.
Configure SLURM cluster
Waldur might work out of the box with most of the reasonably modern deployments of SLURM, which have accounting enabled and limits enforced.
Please refer to SLURM documentation for details:
We provide a snapshot of instructions for the convenience of the reader.
Add SLURM cluster
SLURM accounting plugin assumes that at least one cluster is configured. For example:
1 | |
Enforce SLURM accounting limits
In order to enforce limits set on associations and QoS, please modify slurm.conf:
1 | |
Please note, that when AccountingStorageEnforce is changed, a restart of the slurmctld daemon is required (not just a scontrol reconfig):
1 | |
Enable SLURM Multi Priority plugin
In order to enable ordering for the queue of jobs waiting to be scheduled, please modify slurm.conf:
1 | |
When slurm.conf is changed, you should reload configuration:
1 | |
Site agent ↵
Waldur Site Agent
A stateless Python application that synchronizes data between Waldur Mastermind and service provider backends. Manages account creation, usage reporting, and membership synchronization across different cluster management systems.
Architecture
The agent uses a uv workspace architecture with pluggable backends:
- Core Package:
waldur-site-agent(base classes, common utilities) - Plugin Packages: Standalone backend implementations
waldur-site-agent-slurm: SLURM clusterswaldur-site-agent-moab: MOAB clusterswaldur-site-agent-mup: MUP portalwaldur-site-agent-okd: OpenShift/OKD platformswaldur-site-agent-harbor: Harbor registrieswaldur-site-agent-croit-s3: Croit S3 storagewaldur-site-agent-cscs-dwdi: CSCS DWDI accountingwaldur-site-agent-basic-username-management: Username management
Agent Modes
order_process: Fetches orders from Waldur and manages backend resourcesreport: Reports usage data from backend to Waldurmembership_sync: Synchronizes user membershipsevent_process: Event-based processing using MQTT/STOMP
Usage
1 | |
CLI Arguments
-m,--mode: Agent mode (order_process,report,membership_sync,event_process)-c,--config-file: Path to configuration file
Environment Variables
WALDUR_SITE_AGENT_ORDER_PROCESS_PERIOD_MINUTES: Order processing period (default: 5)WALDUR_SITE_AGENT_REPORT_PERIOD_MINUTES: Reporting period (default: 30)WALDUR_SITE_AGENT_MEMBERSHIP_SYNC_PERIOD_MINUTES: Membership sync period (default: 5)SENTRY_ENVIRONMENT: Sentry environment name
Development
1 2 3 4 5 6 7 8 9 10 11 | |
Documentation
- Architecture & Plugin Development
- Installation Guide
- Configuration Reference
- Deployment Guide
- Username Management
- SLURM Usage Reporting Setup
Plugin Documentation
Compute & HPC Plugins
- SLURM Plugin - SLURM cluster management
- MOAB Plugin - MOAB cluster management
- MUP Plugin - MUP portal integration
Container & Cloud Plugins
- OpenShift/OKD Plugin - OpenShift and OKD container platform management
- Harbor Plugin - Harbor container registry management
Storage Plugins
- Croit S3 Plugin - Croit S3 storage management
Accounting Plugins
- CSCS DWDI Plugin - CSCS DWDI accounting integration
Utility Plugins
- Basic Username Management Plugin - Username generation and management
License
MIT License - see LICENCE file for details.
MIT License
Copyright (c) 2016-2025 OpenNode LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Docs ↵
Plugin Architecture
The Waldur Site Agent uses a pluggable backend system that allows external developers to create custom backend plugins without modifying the core codebase.
Core architecture & plugin system
---
config:
layout: elk
---
graph TB
subgraph "Core Package"
WA[waldur-site-agent<br/>Core Logic & Processing]
BB[BaseBackend<br/>Abstract Interface]
BC[BaseClient<br/>Abstract Interface]
CU[Common Utils<br/>Entry Point Discovery]
end
subgraph "Plugin Ecosystem"
PLUGINS[Backend Plugins<br/>SLURM, MOAB, MUP, etc.]
UMANAGE[Username Management<br/>Plugins]
end
subgraph "Entry Point System"
EP_BACKENDS[waldur_site_agent.backends]
EP_USERNAME[waldur_site_agent.username_management_backends]
end
%% Core dependencies
WA --> BB
WA --> BC
WA --> CU
%% Plugin registration and discovery
CU --> EP_BACKENDS
CU --> EP_USERNAME
EP_BACKENDS -.-> PLUGINS
EP_USERNAME -.-> UMANAGE
%% Plugin inheritance
PLUGINS -.-> BB
PLUGINS -.-> BC
UMANAGE -.-> BB
%% Styling - Dark mode compatible colors
classDef corePackage fill:#1E3A8A,stroke:#3B82F6,stroke-width:2px,color:#FFFFFF
classDef plugin fill:#581C87,stroke:#8B5CF6,stroke-width:2px,color:#FFFFFF
classDef entrypoint fill:#065F46,stroke:#10B981,stroke-width:2px,color:#FFFFFF
class WA,BB,BC,CU corePackage
class PLUGINS,UMANAGE plugin
class EP_BACKENDS,EP_USERNAME entrypoint
Agent modes & external systems
---
config:
layout: elk
---
graph TB
subgraph "Agent Modes"
ORDER[agent-order-process<br/>Order Processing]
REPORT[agent-report<br/>Usage Reporting]
SYNC[agent-membership-sync<br/>Membership Sync]
EVENT[agent-event-process<br/>Event Processing]
end
subgraph "Plugin Layer"
PLUGINS[Backend Plugins<br/>SLURM, MOAB, MUP, etc.]
end
subgraph "External Systems"
WALDUR[Waldur Mastermind<br/>REST API]
BACKENDS[Cluster Backends<br/>CLI/API Systems]
MQTT[MQTT/STOMP Broker<br/>Event Processing]
end
%% Agent mode usage of plugins
ORDER --> PLUGINS
REPORT --> PLUGINS
SYNC --> PLUGINS
EVENT --> PLUGINS
%% External connections
ORDER <--> WALDUR
REPORT <--> WALDUR
SYNC <--> WALDUR
EVENT <--> WALDUR
EVENT <--> MQTT
PLUGINS <--> BACKENDS
%% Styling - Dark mode compatible colors
classDef agent fill:#B45309,stroke:#F59E0B,stroke-width:2px,color:#FFFFFF
classDef plugin fill:#581C87,stroke:#8B5CF6,stroke-width:2px,color:#FFFFFF
classDef external fill:#C2410C,stroke:#F97316,stroke-width:2px,color:#FFFFFF
class ORDER,REPORT,SYNC,EVENT agent
class PLUGINS plugin
class WALDUR,BACKENDS,MQTT external
Key plugin features
- Automatic Discovery: Plugins are automatically discovered via Python entry points
- Modular Backends: Each backend (SLURM, MOAB, MUP) is a separate plugin package
- Independent Versioning: Plugins can be versioned and distributed separately
- Extensible: External developers can create custom backends by implementing
BaseBackend - Workspace Integration: Seamless development with
uv workspacedependencies - Multi-Backend Support: Different backends for order processing, reporting, and membership sync
Plugin structure
Built-in plugin structure
1 2 3 4 5 6 7 | |
Available plugins
SLURM plugin (waldur-site-agent-slurm)
- Communication: CLI-based via
sacctmgr,sacct,scancelcommands - Components: CPU, memory, GPU (TRES-based accounting)
- Features:
- QoS management (downscale, pause, restore)
- Home directory creation
- Job cancellation
- User limit management
- Parser: Complex SLURM output parsing with time/unit conversion
- Client:
SlurmClientwith command-line execution
MOAB plugin (waldur-site-agent-moab)
- Communication: CLI-based via
mam-*commands - Components: Deposit-based accounting only
- Features:
- Fund management
- Account creation/deletion
- Basic user associations
- Parser: Simple report line parsing for charges
- Client:
MoabClientwith MOAB Accounting Manager integration
MUP plugin (waldur-site-agent-mup)
- Communication: HTTP REST API
- Components: Configurable limit-based components
- Features:
- Project/allocation management
- User creation and management
- Research field mapping
- Multi-component allocation support
- Client:
MUPClientwith HTTP authentication and comprehensive API coverage - Advanced: Most sophisticated plugin with full user lifecycle management
Basic username management (waldur-site-agent-basic-username-management)
- Purpose: Provides base username management interface
- Implementation: Minimal placeholder implementation
- Extensibility: Template for custom username generation backends
Creating Custom Plugins
Backend Plugin Development
- Create plugin package:
1 2 | |
- Setup pyproject.toml:
1 2 3 4 5 6 7 | |
- Implement backend class:
1 2 3 4 5 6 7 8 9 10 11 12 | |
- Install and register:
1 | |
Username management plugin development
- Entry point registration:
1 2 | |
- Implementation:
1 2 3 4 5 6 | |
- Configuration:
1 2 3 | |
Plugin discovery mechanism
The core system automatically discovers plugins through Python entry points:
1 2 3 4 5 6 | |
This enables:
- Zero-configuration discovery: Plugins are found automatically when installed
- Dynamic loading: Plugin classes are loaded on-demand
- Flexible deployment: Different plugin combinations for different environments
- Third-party integration: External plugins work seamlessly with the core system
Configuration integration
Plugins integrate through offering configuration:
1 2 3 4 5 6 7 | |
This allows:
- Mixed backend usage: Different backends for different operations
- Gradual migration: Transition between backends incrementally
- Specialized backends: Use purpose-built backends for specific tasks
- Development flexibility: Test new backends alongside production ones
Configuration Validation with Pydantic
The Waldur Site Agent uses Pydantic for robust YAML configuration validation, providing type safety, clear error messages, and extensible plugin-specific validation.
Overview
The validation system consists of two layers:
- Core Validation: Universal fields validated by core Pydantic models
- Plugin Validation: Plugin-specific fields validated by plugin-provided schemas
Core Configuration Validation
Basic Structure
All configurations are validated using Pydantic models with enum-based validation:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Core Validation Features
Automatic Validation:
- Required Fields:
name,waldur_api_url,waldur_api_token,waldur_offering_uuid,backend_type - URL Validation:
waldur_api_urlmust be valid HTTP/HTTPS URL (auto-adds trailing slash) - Enum Validation:
accounting_typemust be "usage" or "limit" - Type Conversion:
backend_typeautomatically lowercased
Optional URL Validation:
- Sentry DSN: Must be valid URL when provided (empty string →
None)
AccountingType Enum
The accounting_type field uses a validated enum:
1 2 3 4 5 | |
Benefits:
- IDE autocomplete
- Compile-time type checking
- Clear validation errors
- No custom validator code needed
Plugin-Specific Validation
How Plugin Schemas Work
Plugins can provide their own Pydantic schemas to validate plugin-specific configuration fields:
- Plugin defines schema: Creates Pydantic models for their specific fields
- Entry point registration: Registers schema via
pyproject.toml - Automatic discovery: Core discovers and applies plugin validation
- Graceful fallback: Invalid plugin fields warn but don't break config
Creating Plugin Schemas
Step 1: Create Schema File
Create schemas.py in your plugin:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | |
Step 2: Register Entry Points
Add to your plugin's pyproject.toml:
1 2 3 4 5 | |
Step 3: Use in Configuration
Your plugin-specific fields are now validated:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Best Practices
Use ConfigDict for Python 3.9+ Compatibility
✅ Correct approach:
1 2 3 4 | |
❌ Avoid:
1 2 3 4 | |
Prefer Enums Over String Validation
✅ Better approach:
1 2 3 4 5 | |
❌ Avoid:
1 2 3 4 5 6 | |
SLURM Plugin Example
The SLURM plugin demonstrates real-world plugin validation:
1 2 3 4 5 6 7 8 9 10 11 | |
Error Handling
Core Validation Errors (Fatal)
Stop configuration loading with clear error messages:
1 2 3 4 5 | |
Plugin Validation Errors (Warnings)
Log warnings but continue with configuration loading:
1 2 | |
Benefits
Type Safety
- IDE Support: Full autocomplete for configuration fields
- Compile-time Checking: Catch errors before runtime
- Clear Documentation: Field descriptions provide inline help
Runtime Validation
- Immediate Feedback: Configuration errors caught at startup
- Rich Error Messages: Pydantic provides detailed validation feedback
- Graceful Degradation: Plugin validation warns but doesn't break
Maintainability
- Enum-Based: No custom string validation code needed
- Extensible: Plugins add validation without core changes
- Evidence-Based: Schemas based on actual plugin requirements
- Future-Proof: Easy to add new validation rules
This validation system provides robust configuration management while maintaining clean separation between core and plugin concerns.
Configuration Reference
This document provides a complete reference for configuring Waldur Site Agent.
Configuration File Structure
The agent uses a YAML configuration file (waldur-site-agent-config.yaml) with the following structure:
1 2 3 4 5 | |
Global Settings
sentry_dsn
- Type: String
- Description: Data Source Name for Sentry error tracking
- Default: Empty (disabled)
- Example:
"https://key@sentry.io/project"
timezone
- Type: String
- Description: Timezone for billing period calculations
- Default: System timezone
- Recommended:
"UTC" - Examples:
"UTC","Europe/Tallinn","America/New_York"
Note: Important when agent and Waldur are deployed in different timezones to prevent billing period mismatches at month boundaries.
Offering Configuration
Each offering in the offerings array represents a separate service offering.
Basic Settings
name
- Type: String
- Required: Yes
- Description: Human-readable name for the offering
waldur_api_url
- Type: String
- Required: Yes
- Description: URL of Waldur API endpoint
- Example:
"http://localhost:8081/api/"
waldur_api_token
- Type: String
- Required: Yes
- Description: Token for Waldur API authentication
- Security: Keep this secret and secure
verify_ssl
- Type: Boolean
- Default:
true - Description: Whether to verify SSL certificates for Waldur API
waldur_offering_uuid
- Type: String
- Required: Yes
- Description: UUID of the offering in Waldur
- Note: Found in Waldur UI under Integration -> Credentials
Backend Configuration
backend_type
- Type: String
- Required: Yes for legacy configurations
- Values:
"slurm","moab","mup" - Description: Type of backend (legacy setting, use specific backend settings instead)
Backend Selection
Configure which backends to use for different operations:
1 2 3 4 | |
Available backends (via entry points):
"slurm": SLURM cluster management"moab": MOAB cluster management"mup": MUP portal integration"base": Basic username management- Custom backends via plugins
Note: If a backend setting is omitted, that process won't start for the offering.
Event Processing
mqtt_enabled
- Type: Boolean
- Default:
false - Description: Enable MQTT-based event processing
stomp_enabled
- Type: Boolean
- Default:
false - Description: Enable STOMP-based event processing
websocket_use_tls
- Type: Boolean
- Default:
true - Description: Use TLS for websocket connections
Important: Only one of mqtt_enabled or stomp_enabled can be true.
Resource Management
resource_import_enabled
- Type: Boolean
- Default:
false - Description: Whether to expose importable resources to Waldur
Backend-Specific Settings
SLURM Backend Settings
1 2 3 4 5 6 7 8 9 10 | |
MOAB Backend Settings
1 2 3 4 5 6 | |
MUP Backend Settings
1 2 3 4 5 | |
Backend Components
Define computing components tracked by the backend:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Component Settings
measured_unit
- Type: String
- Description: Unit displayed in Waldur
- Examples:
"k-Hours","gb-Hours","EUR"
unit_factor
- Type: Number
- Description: Factor for conversion from Waldur units to backend units
- Examples:
60000for CPU (60 * 1000, converts k-Hours to CPU-minutes)61440for memory (60 * 1024, converts gb-Hours to MB-minutes)
accounting_type
- Type: String
- Values:
"usage"or"limit" - Description: Whether component tracks usage or limits
label
- Type: String
- Description: Human-readable label displayed in Waldur
limit
- Type: Number
- Optional: Yes
- Description: Fixed limit amount for limit-type components
Backend-Specific Component Notes
SLURM: Supports cpu, mem, and other custom components
MOAB: Only supports deposit component
1 2 3 4 5 | |
Environment Variables
Override configuration values using environment variables:
Agent Timing
WALDUR_SITE_AGENT_ORDER_PROCESS_PERIOD_MINUTES: Order processing period (default: 5)WALDUR_SITE_AGENT_REPORT_PERIOD_MINUTES: Reporting period (default: 30)WALDUR_SITE_AGENT_MEMBERSHIP_SYNC_PERIOD_MINUTES: Membership sync period (default: 5)
Monitoring
SENTRY_ENVIRONMENT: Environment name for Sentry
Example Configurations
SLURM Cluster
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
MOAB Cluster
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Event-Based Processing
1 2 3 4 5 6 7 8 9 10 | |
Validation
Validate your configuration:
1 2 3 4 5 | |
Deployment Guide
This guide covers production deployment of Waldur Site Agent using systemd services.
Deployment Overview
The agent can run in 4 different modes, deployed as separate systemd services:
- agent-order-process: Processes orders from Waldur
- agent-report: Reports usage data to Waldur
- agent-membership-sync: Synchronizes memberships
- agent-event-process: Event-based processing (alternative to #1 and #3)
Service Combinations
Option 1: Polling-based (traditional)
- agent-order-process
- agent-membership-sync
- agent-report
Option 2: Event-based (requires MQTT/STOMP)
- agent-event-process
- agent-report
Note: Only one combination can be active at a time.
Systemd Service Setup
Download Service Files
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Legacy Systemd Support
For systemd versions older than 240:
1 2 3 4 5 6 | |
Enable and Start Services
Option 1: Polling-based Deployment
1 2 3 4 5 6 7 8 9 10 11 | |
Option 2: Event-based Deployment
1 2 3 4 5 6 7 8 | |
Service Management
Check Service Status
1 2 3 4 5 | |
View Logs
1 2 3 4 5 6 7 8 | |
Restart Services
1 2 3 4 5 | |
Configuration Management
Configuration File Location
The default configuration file location is /etc/waldur/waldur-site-agent-config.yaml.
Update Configuration
- Edit configuration file:
1 | |
- Validate configuration:
1 | |
- Restart services:
1 | |
Event-Based Processing Setup
MQTT Configuration
For MQTT-based event processing, add to your offering configuration:
1 2 3 4 5 | |
STOMP Configuration
For STOMP-based event processing:
1 2 3 4 5 | |
Important: Configure the event bus settings in Waldur to match your agent configuration.
Monitoring and Alerting
Health Checks
Create a monitoring script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Log Rotation
Systemd handles log rotation automatically via journald. Configure retention:
1 2 3 4 5 6 | |
Sentry Integration
Add Sentry DSN to configuration for error tracking:
1 | |
Set environment in systemd service files:
1 2 | |
Security Considerations
File Permissions
1 2 3 | |
API Token Security
- Use dedicated service account in Waldur
- Rotate API tokens regularly
- Store tokens securely (consider using systemd credentials)
Network Security
- Restrict outbound connections to Waldur API endpoints
- Use TLS for all connections
- Configure firewall rules appropriately
Troubleshooting
Common Issues
Service Won't Start
- Check configuration syntax:
1 | |
- Check service logs:
1 | |
Backend Connection Issues
- Test backend connectivity:
1 2 3 4 5 6 | |
- Check permissions and PATH
Waldur API Issues
- Test API connectivity:
1 | |
- Verify SSL certificates if using HTTPS
Debug Mode
Enable debug logging by modifying service files:
1 2 | |
Performance Tuning
Adjust Processing Periods
Modify environment variables in systemd service files:
1 2 3 4 5 6 | |
Resource Limits
Add resource limits to service files:
1 2 3 | |
Backup and Recovery
Configuration Backup
1 2 3 4 5 6 7 | |
Service State
The agent is stateless, but consider backing up:
- Configuration files
- Custom systemd service modifications
- Log files (if needed for auditing)
Scaling Considerations
Multiple Backend Support
The agent supports multiple offerings in a single configuration file. Each offering can use different backends:
1 2 3 4 5 6 7 8 | |
High Availability
For HA deployment:
- Run agents on multiple nodes
- Use external load balancer for MQTT/STOMP connections
- Implement cluster-level monitoring
- Consider using configuration management tools (Ansible, Puppet, etc.)
Rocky Linux 9 Installation Guide
This guide provides step-by-step instructions for installing Waldur Site Agent on Rocky Linux 9.
Prerequisites
- Fresh Rocky Linux 9 installation
- SSH access with sudo privileges
- Internet connectivity
System Preparation
1. Update System
1 | |
2. Install Required System Packages
1 2 3 | |
3. Install Python 3.13
Rocky 9 comes with Python 3.9 by default. For optimal compatibility, install Python 3.13 from EPEL:
1 2 3 4 5 6 7 8 | |
4. Install UV Package Manager
UV is the recommended package manager for Waldur Site Agent:
1 2 3 4 5 6 7 8 | |
Waldur Site Agent Installation
Installation Method Options
Rocky Linux 9 supports two installation approaches:
- Python 3.13 Installation (Recommended) - Latest Python from EPEL with native packages
- Full Development Installation (Advanced) - Using UV with complete development environment
Method 1: Python 3.13 Installation (Recommended)
This method uses the latest Python 3.13 from EPEL with native package management.
1. Install Python 3.13 and Dependencies
1 2 3 4 5 6 7 | |
2. Create Service User
1 2 3 4 5 6 | |
3. Install Core Agent
1 2 3 4 5 | |
4. Install for Service User
1 2 3 4 5 | |
Method 2: Full Development Installation (Advanced)
Use this method if you need full development tools or prefer UV package manager.
1. Create Service User
1 2 3 4 5 6 | |
2. Install Agent Using UV
1 2 3 4 5 6 7 8 9 10 11 12 | |
Plugin Installation
Waldur Site Agent uses a modular plugin architecture. Install plugins based on your backend requirements.
Available Plugins
- waldur-site-agent-slurm: SLURM cluster management
- waldur-site-agent-moab: MOAB cluster management
- waldur-site-agent-mup: MUP portal integration
- waldur-site-agent-okd: OpenShift/OKD container platform management
- waldur-site-agent-harbor: Harbor container registry management
- waldur-site-agent-croit-s3: Croit S3 storage management
- waldur-site-agent-cscs-dwdi: CSCS DWDI integration
- waldur-site-agent-basic-username-management: Username management
Plugin Installation Methods
Method 1: With Python 3.13 (Recommended)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Method 2: With UV
1 2 3 4 5 6 7 8 9 | |
Plugin Verification
1 2 3 4 5 6 7 8 9 | |
Backend-Specific Plugin Requirements
SLURM Plugin (waldur-site-agent-slurm)
Required for: SLURM cluster management
Additional system requirements:
1 2 3 4 5 6 | |
Configuration: Set order_processing_backend: "slurm" in your config file.
MOAB Plugin (waldur-site-agent-moab)
Required for: MOAB cluster management
Additional system requirements:
1 2 3 4 5 6 | |
Configuration: Set order_processing_backend: "moab" in your config file.
MUP Plugin (waldur-site-agent-mup)
Required for: MUP portal integration
No additional system requirements - uses API calls only.
Configuration: Set order_processing_backend: "mup" in your config file.
OpenShift/OKD Plugin (waldur-site-agent-okd)
Required for: OpenShift and OKD container platform management
Additional system requirements:
1 2 3 4 5 6 7 8 9 10 | |
Configuration: Set order_processing_backend: "okd" in your config file.
Harbor Plugin (waldur-site-agent-harbor)
Required for: Harbor container registry management
No additional system requirements - uses Harbor API calls only.
Configuration: Set order_processing_backend: "harbor" in your config file.
Croit S3 Plugin (waldur-site-agent-croit-s3)
Required for: Croit S3 storage management
No additional system requirements - uses S3-compatible API calls only.
Configuration: Set order_processing_backend: "croit-s3" in your config file.
CSCS DWDI Plugin (waldur-site-agent-cscs-dwdi)
Required for: CSCS DWDI integration
No additional system requirements - uses API calls only.
Configuration: Set order_processing_backend: "cscs-dwdi" in your config file.
Username Management Plugin (waldur-site-agent-basic-username-management)
Required for: Custom username generation and management
No additional system requirements.
Configuration: Set username_management_backend: "base" in your config file.
3. Alternative: Install from Source (Development)
For development or custom modifications:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Configuration Setup
1. Download Configuration Template
1 2 3 4 5 6 7 8 | |
2. Edit Configuration
1 2 | |
Update the following required fields:
waldur_api_url: Your Waldur API endpointwaldur_api_token: Your Waldur API tokenwaldur_offering_uuid: UUID from your Waldur offering- Backend-specific settings as needed
3. Load Components into Waldur
1 2 | |
SLURM Backend Setup (if applicable)
If you're using SLURM backend, install SLURM tools:
1 2 3 4 5 6 | |
MOAB Backend Setup (if applicable)
For MOAB backend (requires root access):
1 2 3 4 5 6 | |
Systemd Service Setup
1. Download Service Files
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
2. Modify Service Files for Rocky 9
The executable path depends on your installation method:
For Python 3.13 Installation (Method 1)
1 2 | |
For UV Installation (Method 2)
1 2 | |
Update the service files:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
3. Enable and Start Services
1 2 3 4 5 6 7 8 9 10 11 | |
Firewall Configuration
Configure firewall if needed:
1 2 3 4 5 6 7 8 9 10 11 | |
SELinux Configuration
Rocky 9 has SELinux enabled by default. Configure it for the agent:
1 2 3 4 5 6 7 8 9 10 11 | |
Verification
1. Test Installation
1 2 3 4 5 | |
2. Check Service Status
1 2 3 4 5 | |
3. Test Connectivity
1 2 3 4 5 | |
Monitoring and Maintenance
1. Log Monitoring
1 2 3 4 5 | |
2. Health Check Script
Create a health check script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
3. Automatic Updates
Set up automatic security updates:
1 2 3 4 5 6 7 8 9 | |
Troubleshooting
Common Issues
Permission Denied Errors
1 2 3 4 5 6 | |
SELinux Denials
1 2 3 4 5 6 | |
Network Connectivity
1 2 3 4 5 6 7 8 | |
Service Startup Issues
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
2. Limit User Privileges
1 2 | |
3. Network Security
1 2 3 4 5 6 7 8 9 10 | |
This completes the Rocky Linux 9 specific installation guide. The next step would be to test these instructions on the actual system.
Ubuntu 24.04 LTS Installation Guide
This guide provides step-by-step instructions for installing Waldur Site Agent on Ubuntu 24.04 LTS (Noble Numbat).
Prerequisites
- Ubuntu 24.04 LTS (Noble Numbat) installation
- SSH access with sudo privileges
- Internet connectivity
System Preparation
1. Update System Packages
1 | |
2. Install Required System Packages
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
3. Verify Python Installation
Ubuntu 24.04 comes with Python 3.12.3 by default, which is excellent for Waldur Site Agent:
1 2 3 4 5 6 | |
4. Install UV Package Manager
UV is the recommended package manager for Waldur Site Agent:
1 2 3 4 5 6 7 8 | |
Waldur Site Agent Installation
1. Create Service User
1 2 3 4 5 6 7 | |
2. Install Agent Using UV
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
3. Alternative: Install Using Pip (Virtual Environment)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | |
4. Development Installation (Optional)
For development or custom modifications:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
Plugin Installation
Waldur Site Agent uses a modular plugin architecture. Install plugins based on your backend requirements.
Available Plugins
- waldur-site-agent-slurm: SLURM cluster management
- waldur-site-agent-moab: MOAB cluster management
- waldur-site-agent-mup: MUP portal integration
- waldur-site-agent-okd: OpenShift/OKD container platform management
- waldur-site-agent-harbor: Harbor container registry management
- waldur-site-agent-croit-s3: Croit S3 storage management
- waldur-site-agent-cscs-dwdi: CSCS DWDI integration
- waldur-site-agent-basic-username-management: Username management
Plugin Installation Methods
Method 1: With UV (Recommended)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Method 2: With Virtual Environment
1 2 3 4 5 6 7 | |
Method 3: With System Package Manager (Future)
1 2 3 4 5 6 7 8 9 | |
Plugin Verification
1 2 3 4 5 6 | |
Backend-Specific Plugin Requirements
SLURM Plugin (waldur-site-agent-slurm)
Required for: SLURM cluster management
Additional system requirements:
1 2 3 4 5 6 | |
Configuration: Set order_processing_backend: "slurm" in your config file.
MOAB Plugin (waldur-site-agent-moab)
Required for: MOAB cluster management
Additional system requirements:
1 2 3 4 5 6 | |
Note: MOAB installation depends on your specific MOAB distribution. Consult your MOAB documentation for Ubuntu packages.
Configuration: Set order_processing_backend: "moab" in your config file.
MUP Plugin (waldur-site-agent-mup)
Required for: MUP portal integration
No additional system requirements - uses API calls only.
Configuration: Set order_processing_backend: "mup" in your config file.
OpenShift/OKD Plugin (waldur-site-agent-okd)
Required for: OpenShift and OKD container platform management
Additional system requirements:
1 2 3 4 5 6 7 8 9 10 11 | |
Configuration: Set order_processing_backend: "okd" in your config file.
Harbor Plugin (waldur-site-agent-harbor)
Required for: Harbor container registry management
No additional system requirements - uses Harbor API calls only.
Configuration: Set order_processing_backend: "harbor" in your config file.
Croit S3 Plugin (waldur-site-agent-croit-s3)
Required for: Croit S3 storage management
No additional system requirements - uses S3-compatible API calls only.
Configuration: Set order_processing_backend: "croit-s3" in your config file.
CSCS DWDI Plugin (waldur-site-agent-cscs-dwdi)
Required for: CSCS DWDI integration
No additional system requirements - uses API calls only.
Configuration: Set order_processing_backend: "cscs-dwdi" in your config file.
Username Management Plugin (waldur-site-agent-basic-username-management)
Required for: Custom username generation and management
No additional system requirements.
Configuration: Set username_management_backend: "base" in your config file.
Configuration Setup
1. Download Configuration Template
1 2 3 4 5 6 7 8 | |
2. Edit Configuration
1 2 | |
Update the following required fields:
waldur_api_url: Your Waldur API endpointwaldur_api_token: Your Waldur API tokenwaldur_offering_uuid: UUID from your Waldur offering- Backend-specific settings as needed
3. Load Components into Waldur
1 2 | |
Backend-Specific Setup
SLURM Backend (if applicable)
1 2 3 4 5 6 | |
MOAB Backend (if applicable)
MOAB installation depends on your specific MOAB distribution. Consult your MOAB documentation for Ubuntu packages.
Systemd Service Setup
1. Download Service Files
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
2. Modify Service Files for Ubuntu
Update the service files to use the correct paths:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
3. Enable and Start Services
1 2 3 4 5 6 7 8 9 10 11 | |
Firewall Configuration
Ubuntu 24.04 uses UFW (Uncomplicated Firewall):
1 2 3 4 5 6 7 8 9 | |
AppArmor Configuration (if enabled)
Ubuntu 24.04 may have AppArmor enabled:
1 2 3 4 5 | |
Verification
1. Test Installation
1 2 3 4 5 | |
2. Check Service Status
1 2 3 4 5 | |
3. Test Connectivity
1 2 3 4 5 | |
Monitoring and Maintenance
1. Log Monitoring
1 2 3 4 5 | |
2. Health Check Script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
3. Automatic Updates
1 2 3 4 5 | |
Ubuntu 24.04 Specific Features
1. Snap Package Alternative
1 2 3 | |
2. Python 3.12 Benefits
- Improved performance over previous versions
- Better type annotations support
- Enhanced error messages
- Native support for all waldur-site-agent dependencies
3. System Integration
1 2 3 4 5 6 7 8 | |
Troubleshooting
Common Issues
Permission Denied Errors
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | |
2. Service User Security
1 2 3 | |
3. Network Security
1 2 3 4 5 | |
Performance Optimization
1. System Resources
1 2 3 | |
2. Log Rotation
1 2 3 4 5 6 7 8 | |
This completes the comprehensive Ubuntu 24.04 LTS installation guide for Waldur Site Agent.
Installation Guide
This guide covers the complete installation and setup process for Waldur Site Agent.
Prerequisites
Waldur Offering Configuration
Before installing the agent, you need to create and configure an offering in Waldur:
Create Offering
- Go to
Service Providersection of your organization - Open offering creation menu
- Input a name, choose a category
- Select
Waldur site agentfrom the drop-down list - Click
Createbutton
Configure Accounting Plan
- Open the offering page, choose
Edittab - Click
Accountingsection - Choose
Accounting plansfrom the drop-down list - Click
Add planand input the necessary details
Enable User Management
- In the same page, click
Integrationsection - Choose
User managementfrom the drop-down list - Set
Service provider can create offering useroption toYes
Activate Offering
- Activate the offering using the big green button
Activate
Get Offering UUID
- Copy the UUID from the
Integration -> Credentialssection - You'll need this for the agent configuration file
Installation
OS-Specific Installation Guides
For detailed, platform-specific installation instructions:
- Ubuntu 24.04 LTS - ⭐ Recommended - Complete guide for Ubuntu 24.04 LTS (fully validated)
- Rocky Linux 9 - Complete guide for Rocky Linux 9.x (validated)
Recommendation: Ubuntu 24.04 LTS provides the best installation experience with Python 3.12, modern development tools, and fastest setup time.
Basic Installation
1 | |
Development Installation
For development or custom plugin work:
1 2 3 4 5 6 7 8 9 | |
Configuration
Create Configuration File
1 2 3 4 5 | |
Load Components
Load computing components into Waldur (required for offering setup):
1 | |
Create Home Directories (Optional)
If your backend requires home directory creation:
1 | |
Plugin-Specific Requirements
SLURM Plugin
- Requires access to SLURM command-line utilities (
sacct,sacctmgr) - Must run on a SLURM cluster head node
- User running the agent needs SLURM administrator privileges
MOAB Plugin
- Requires access to MOAB command-line utilities (
mam-list-accounts,mam-create-account) - Must run on a MOAB cluster head node as root user
- Only supports
depositcomponent type
MUP Plugin
- Requires API access to MUP portal
- Needs valid API credentials in configuration
Verification
Test your installation:
1 2 3 4 5 6 7 8 | |
Next Steps
After installation:
- Configure your agent settings in
/etc/waldur/waldur-site-agent-config.yaml - Set up systemd services for production deployment
- Configure monitoring and logging
See the Configuration Reference and Deployment Guide for detailed next steps.
Offering Users and Async User Creation
The Waldur Site Agent provides robust support for managing offering users with asynchronous username generation and state management. This system enables non-blocking user processing and supports complex username generation scenarios through a pluggable backend architecture.
Overview
Offering users represent the relationship between Waldur users and marketplace offerings. The agent handles username generation, state transitions, and integration with backend systems to ensure users can access provisioned resources.
Async User Creation Workflow
State Machine
The async user creation follows a state-based workflow that prevents blocking operations:
stateDiagram-v2
[*] --> REQUESTED : User requests access
REQUESTED --> CREATING : Begin username generation
CREATING --> OK : Username successfully created
CREATING --> PENDING_ACCOUNT_LINKING : Manual linking required
CREATING --> PENDING_ADDITIONAL_VALIDATION : Additional validation needed
PENDING_ACCOUNT_LINKING --> OK : Username generation succeeds on retry
PENDING_ADDITIONAL_VALIDATION --> OK : Username generation succeeds on retry
OK --> [*] : User ready for resource access
State Descriptions
- REQUESTED: Initial state when user requests access to an offering
- CREATING: Transitional state during username generation process
- OK: Username successfully generated and user is ready for resource access
- PENDING_ACCOUNT_LINKING: Manual intervention required to link user accounts
- PENDING_ADDITIONAL_VALIDATION: Additional validation steps needed before proceeding
Core Components
Main Functions
sync_offering_users()
Entry point function that processes all offering users across configured offerings.
Usage:
1 | |
Behavior:
- Iterates through all configured offerings
- Retrieves offering users from Waldur API
- Delegates processing to
update_offering_users()
update_offering_users()
Core processing function that handles username generation and state transitions.
Process:
- Early validation checks (empty users list, username generation policy)
- Username management backend validation (skips if UnknownUsernameManagementBackend)
- Efficient user grouping by state (single pass through users)
- Processes users in REQUESTED state via
_process_requested_users() - Handles users in pending states via
_process_pending_users() - Manages state transitions and centralized error handling
New Architecture: The function has been refactored into focused sub-functions:
_can_generate_usernames(): Policy validation_group_users_by_state(): Efficient user categorization_process_requested_users(): Handle new username requests_process_pending_users(): Process retry scenarios_update_user_username(): Individual user processing_handle_account_linking_error(): Account linking error management_handle_validation_error(): Validation error management
Username Management Backend System
The agent uses a pluggable backend architecture for username generation, allowing custom implementations for different identity providers and naming conventions.
Backend Validation
The system now includes early validation to skip processing when no valid username management backend is available:
- UnknownUsernameManagementBackend: Fallback backend that returns empty usernames
- Early Exit: Processing is skipped if
UnknownUsernameManagementBackendis detected - Performance Optimization: Prevents unnecessary API calls when username generation isn't possible
Base Abstract Class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Plugin Registration
Register your backend via entry points in pyproject.toml:
1 2 | |
Built-in Backends
- base: Basic username management backend (plugins/basic_username_management/)
- UnknownUsernameManagementBackend: Fallback backend when configuration is missing or invalid
- Returns empty usernames for all requests
- Triggers early exit from processing to improve performance
- Used automatically when
username_management_backendis not properly configured
Configuration
Offering Configuration
Configure username management per offering in your agent configuration:
1 2 3 4 5 6 7 8 9 | |
Prerequisites
- Service Provider Username Generation: The offering must be configured
with
username_generation_policy = SERVICE_PROVIDERin Waldur - Backend Plugin: Appropriate username management backend must be installed and configured
- Permissions: API token must have permissions to manage offering users
Integration with Order Processing
The async user creation system is seamlessly integrated with the agent's order processing workflows:
Automatic Processing
Username generation is automatically triggered during:
- Resource creation orders
- User addition to existing resources
- Membership synchronization operations
Implementation in Processors
The OfferingBaseProcessor class provides _update_offering_users() method that:
- Calls username generation for users with blank usernames
- Refreshes offering user data after processing
- Filters users to only include those with valid usernames for resource operations
Example usage in order processing:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Performance Improvements:
- Conditional refresh only when usernames are actually updated
- Early validation prevents unnecessary processing
- Efficient user state grouping reduces multiple iterations
- Backend validation prevents wasted API calls
Error Handling
Exception Types
The system defines specific exceptions for different error scenarios:
OfferingUserAccountLinkingRequiredError: Raised when manual account linking is requiredOfferingUserAdditionalValidationRequiredError: Raised when additional validation steps are needed
Both exceptions support an optional comment_url parameter to provide links to forms, documentation, or
other resources needed for error resolution.
Error Recovery
When exceptions occur:
- User state transitions to appropriate pending state
- Error details are logged with context
- Comment field is updated with error message and comment_url field with any provided URL
- Processing continues for other users
- Pending users are retried in subsequent runs
Best Practices
Username Backend Implementation
- Idempotent Operations: Ensure
get_or_create_username()can be called multiple times safely - Error Handling: Raise appropriate exceptions for recoverable errors
- Logging: Include detailed logging for troubleshooting
- Validation: Validate generated usernames meet backend system requirements
- Performance Considerations: Implement efficient lookup mechanisms to avoid blocking operations
- Backend Validation: Return empty strings when username generation is not supported
Deployment Considerations
- Regular Sync: Run
waldur_sync_offering_usersregularly via cron or systemd timer - Monitoring: Monitor pending user states for manual intervention needs
- Backup Strategy: Consider username mapping backup for disaster recovery
- Testing: Test username generation logic thoroughly before production deployment
- Backend Configuration: Ensure proper
username_management_backendconfiguration to avoid UnknownUsernameManagementBackend fallback - Performance Tuning: Monitor processing times and adjust batch sizes if needed
- Error Recovery: Set up alerting for persistent pending states that may require manual intervention
Troubleshooting
Diagnostic Commands
1 2 3 4 5 6 7 8 9 | |
Rocky Linux 9 with Python 3.13 Installation Validation Results
Test Environment
- OS: Rocky Linux 9.2 (Blue Onyx)
- Test Date: November 22, 2025
- Server: 193.40.155.176
- Python Version: Python 3.13.9 (from EPEL)
- Initial Access: SSH as
rockyuser
Validation Summary
✅ Complete Success - Python 3.13 Installation
Successfully validated waldur-site-agent installation on Rocky Linux 9 using Python 3.13.9 from EPEL repository with native pip and wheel packages.
Detailed Validation Results
1. Python 3.13 Installation ✅
1 2 3 4 5 6 7 8 | |
Key Details:
- ✅ Python 3.13.9: Latest stable Python release
- ✅ Native EPEL packages: Official Rocky Linux packages
- ✅ Automatic dependencies: mpdecimal, libs, pip-wheel installed automatically
- ✅ 11 MB total: Reasonable package size
2. Pip Installation ✅
1 2 3 4 5 6 7 | |
Result: Latest pip 25.1.1 installed and working perfectly.
3. Waldur Site Agent Installation ✅
1 2 3 4 5 6 | |
Installation highlights:
- ✅ Same version: waldur-site-agent 0.7.8 (identical to other platforms)
- ✅ Native wheel building: PyYAML and docopt built specifically for Python 3.13
- ✅ CP313 wheels: Native Python 3.13 wheels for charset-normalizer and others
- ✅ All 22 dependencies: Resolved and installed successfully
4. Agent Functionality Verification ✅
1 2 3 4 5 6 7 | |
Modern Features:
- ✅ Updated help format: Uses "options" instead of "optional arguments" (Python 3.13 argparse improvement)
- ✅ All executables working: waldur_site_agent, waldur_site_diagnostics, waldur_site_load_components
- ✅ Full functionality: All agent modes and configuration options available
5. Service User Installation ✅
1 2 3 4 5 6 7 | |
Result: Service user installation completed successfully with isolated Python 3.13 environment.
6. Python 3.13 Import and Runtime Testing ✅
1 2 3 4 | |
Result: Full compatibility confirmed - no Python 3.13 compatibility issues detected.
Python 3.13 Advantages on Rocky 9
1. Latest Python Features
- Performance improvements: Faster execution compared to Python 3.9
- Modern syntax: Latest Python language features available
- Enhanced error messages: Better debugging experience
- Type system improvements: Enhanced type hints and checking
2. Native Package Support
- EPEL integration: Official Rocky Linux packages
- Automatic dependency resolution: System package manager handles dependencies
- Security updates: Regular updates through EPEL repository
- Clean installation: No manual compilation required
3. Wheel Building Capabilities
- Native compilation: Builds CP313-specific wheels for better performance
- Modern build system: Uses pyproject.toml and modern build tools
- Optimized packages: Platform-specific optimizations
Platform Comparison: Python Versions
| Platform | Python Version | Installation Method | Agent Performance | Package Support |
|---|---|---|---|---|
| Ubuntu 24.04 | 3.12.3 | Native (apt) | ⭐⭐⭐⭐⭐ | Excellent |
| Rocky 9 + Python 3.13 | 3.13.9 | EPEL (dnf) | ⭐⭐⭐⭐⭐ | Excellent |
| Rocky 9 + Python 3.9 | 3.9.16 | Native (dnf) | ⭐⭐⭐⭐ | Good |
Performance Observations
Python 3.13 vs Python 3.9 on Rocky 9:
- ✅ Faster installation: Better package resolution and caching
- ✅ Improved wheel building: Native compilation for Python 3.13
- ✅ Better error handling: Enhanced debugging capabilities
- ✅ Modern features: Latest Python optimizations
Installation Comparison Results
| Aspect | Python 3.13 Method | Python 3.9 Bootstrap | Ubuntu 24.04 UV |
|---|---|---|---|
| Installation Time | ~2 minutes | ~3 minutes | ~2 seconds |
| Package Management | Native dnf | Bootstrap pip | UV tool |
| Python Version | 3.13.9 (latest) | 3.9.16 (stable) | 3.12.3 (modern) |
| Packages Required | 4 system packages | Manual pip setup | Native tools |
| Wheel Building | ✅ Native CP313 | ✅ Works | ✅ Cached |
| System Integration | ✅ Excellent | ⚠️ Manual | ✅ Perfect |
| Long-term Support | ✅ EPEL updates | ✅ Stable | ✅ LTS |
Recommended Rocky 9 Installation Method
New Recommended Approach: Python 3.13 from EPEL
1 2 3 4 5 6 7 8 9 10 11 12 | |
Advantages over Previous Methods
- Native packages: No bootstrap pip required
- Latest Python: Python 3.13.9 with modern features
- System integration: Proper dnf package management
- Security updates: Automatic updates via EPEL
- Performance: Native wheel compilation for Python 3.13
Updated Rocky 9 Recommendations
Installation Method Priority
- ⭐ Python 3.13 from EPEL (New Recommended)
- Latest Python features and performance
- Native package management
-
Modern development experience
-
Python 3.9 Bootstrap pip (Fallback/Legacy)
- For environments without EPEL access
- Minimal system impact
-
Proven stability
-
UV with Development Tools (Development)
- For development environments
- Full toolchain available
- Modern package management
Enterprise Deployment Considerations
Python 3.13 in Enterprise
Advantages:
- ✅ Latest security fixes: Python 3.13 includes latest security patches
- ✅ Performance improvements: Better execution speed and memory usage
- ✅ EPEL support: Official enterprise repository backing
- ✅ Long-term availability: EPEL packages maintained long-term
Considerations:
- ⚠️ Newer version: Some enterprise environments prefer older, proven versions
- ⚠️ EPEL dependency: Requires EPEL repository access
- ⚠️ Testing required: Should be tested in enterprise environment first
Risk Assessment
Low Risk:
- ✅ Python 3.13 is stable release
- ✅ All waldur-site-agent features work identically
- ✅ Official EPEL packages with standard support
- ✅ Easy rollback to Python 3.9 if needed
Final Comparison: All Validated Platforms
| Platform | Python | Installation | Speed | Features | Recommendation |
|---|---|---|---|---|---|
| Ubuntu 24.04 | 3.12.3 | UV (modern) | ⚡ Fastest | ⭐⭐⭐⭐⭐ | New projects |
| Rocky 9 + Py3.13 | 3.13.9 | EPEL (native) | 🔄 Fast | ⭐⭐⭐⭐⭐ | Enterprise modern |
| Rocky 9 + Py3.9 | 3.9.16 | Bootstrap | 🔄 Medium | ⭐⭐⭐⭐ | Enterprise conservative |
Conclusion
✅ Rocky Linux 9 with Python 3.13 is the optimal enterprise platform
Key Findings:
- Python 3.13.9: Latest stable Python with all modern features
- Native package management: Proper integration with Rocky Linux ecosystem
- Excellent performance: Native wheel building and optimizations
- Enterprise ready: EPEL repository support with long-term backing
- Zero compatibility issues: All waldur-site-agent features work perfectly
Updated Recommendation:
- Enterprise environments: Rocky 9 + Python 3.13 (new standard)
- Conservative enterprises: Rocky 9 + Python 3.9 (proven stable)
- Development/Cloud: Ubuntu 24.04 (fastest setup)
Next Documentation Updates
- ✅ Update Rocky 9 installation guide to recommend Python 3.13 as primary method
- ✅ Add Python 3.13 installation section to Rocky documentation
- ✅ Update comparison tables to include Python 3.13 results
- ✅ Document enterprise deployment considerations for Python 3.13
The validation confirms that Rocky Linux 9 with Python 3.13 provides an excellent, modern platform for enterprise waldur-site-agent deployments with the latest Python features and optimal performance.
Rocky Linux 9 Installation Validation Results - Final
Test Environment
- OS: Rocky Linux 9.2 (Blue Onyx)
- Test Date: November 21, 2025
- Server: 193.40.155.176
- Initial Access: SSH as
rockyuser
Validation Summary
✅ Complete Success - Alternative Installation Method
Successfully validated waldur-site-agent installation on Rocky Linux 9 using pip-based installation without system updates to avoid VM restart.
Detailed Validation Results
1. System Information ✅
1 2 3 4 5 6 | |
Result: Rocky Linux 9.2 confirmed - same as previous test environment.
2. Python Environment ✅
1 2 3 4 5 | |
Result: Python 3.9.16 pre-installed - sufficient for waldur-site-agent.
3. Strategic Approach - Avoiding System Updates ✅
Challenge: Previous test was interrupted by system updates causing VM restart. Solution: Used direct pip installation instead of full development package installation.
Steps taken:
- ✅ Installed EPEL repository only (minimal impact)
- ✅ Avoided
dnf groupinstall "Development Tools" - ✅ Avoided system-wide package updates
- ✅ Used pip bootstrap installation method
4. Minimal Dependencies Installation ✅
1 2 3 4 | |
Result: EPEL installed successfully (19 kB package) without triggering updates.
5. Pip Bootstrap Installation ✅
1 2 | |
Result: Pip installed in user space without requiring system packages.
6. Waldur Site Agent Installation ✅
1 2 3 | |
Installation details:
- 23 packages resolved and installed
- waldur-site-agent: 0.7.8 (same version as Ubuntu)
- Python 3.9 compatibility confirmed
- No compilation issues despite lack of development tools
7. Agent Functionality Verification ✅
1 2 3 4 | |
All commands available:
- ✅
waldur_site_agent - ✅
waldur_site_diagnostics - ✅
waldur_site_load_components - ✅
waldur_site_create_homedirs - ✅
waldur_sync_offering_users - ✅
waldur_sync_resource_limits
8. Service User Setup ✅
1 2 3 4 5 | |
Result: Service user installation completed successfully with isolated environment.
9. Service User Agent Testing ✅
1 2 | |
Result: Agent fully functional for service user with correct binary path.
Installation Method Comparison
Method 1: Full Development Environment (Previous Test)
- ❌ Interrupted: System updates caused VM restart
- ❌ Heavy: 280+ packages requiring installation
- ❌ Risky: Kernel updates trigger reboots
Method 2: Pip-Based Installation (Current Test) ✅
- ✅ Completed: No interruptions or restarts
- ✅ Lightweight: Only essential packages
- ✅ Safe: No system-level modifications
- ✅ Fast: Installation completed in minutes
Rocky Linux vs Ubuntu 24.04 Comparison
| Aspect | Rocky 9.2 | Ubuntu 24.04 LTS |
|---|---|---|
| Installation Method | Pip-based (lightweight) | UV-based (modern) |
| Python Version | 3.9.16 (compatible) | 3.12.3 (optimal) |
| Package Availability | Requires bootstrap pip | Native pip available |
| Development Tools | Avoided for VM stability | Full environment installed |
| Installation Time | ~3 minutes | ~2 seconds (UV) |
| Dependencies | 23 Python packages | 23 Python packages |
| Agent Version | 0.7.8 (same) | 0.7.8 (same) |
| Functionality | ✅ Complete | ✅ Complete |
| Production Ready | ✅ Yes | ✅ Yes |
| Complexity | Medium (pip bootstrap) | Low (native tools) |
Rocky Linux Specific Advantages
1. Enterprise Stability
- RHEL compatibility: Binary compatibility with Red Hat Enterprise Linux
- Extended support: Support until 2032 (7+ years)
- Conservative updates: Stable, well-tested package versions
- Enterprise deployment: Common in enterprise environments
2. Security Features
- SELinux enforcing: Mandatory Access Control by default
- Firewalld: Robust firewall management
- Audit logging: Comprehensive system auditing
- FIPS compliance: Available for government/enterprise use
3. Alternative Installation Paths
- Pip method works: Proven fallback when development tools unavailable
- Minimal footprint: Can install without heavy development dependencies
- System isolation: User-space installation prevents system conflicts
Performance Assessment
Installation Performance
- Bootstrap time: ~30 seconds for pip installation
- Package resolution: Fast dependency resolution despite older Python
- Download speed: Good performance from PyPI repositories
- Memory usage: Efficient installation with Python 3.9
Runtime Compatibility
- Python 3.9: Fully compatible with all waldur-site-agent features
- Dependency compatibility: No version conflicts or missing features
- Performance: Adequate for production workloads
Production Deployment Considerations
Rocky Linux 9 Strengths
- Stability first: Conservative approach reduces production risks
- Enterprise support: Long-term support and enterprise backing
- Compliance ready: FIPS and security certifications available
- RHEL ecosystem: Familiar to enterprise administrators
Recommended Use Cases
- Enterprise environments with RHEL/CentOS history
- Security-conscious deployments requiring SELinux
- Long-term stability requirements
- Government/compliance environments
Updated Installation Recommendations
For Rocky Linux 9 Deployments
Recommended Method: Pip-based installation
1 2 3 4 5 6 7 8 | |
Advantages:
- ✅ No system updates required
- ✅ No VM restart risk
- ✅ Minimal system impact
- ✅ Same functionality as full installation
Final Comparison: Rocky vs Ubuntu
Ubuntu 24.04 LTS: ⭐⭐⭐⭐⭐ (Recommended for new projects)
Best for: New deployments, development, modern environments
- Fastest installation: UV package manager, 2-second install
- Latest Python: 3.12.3 with best performance
- Modern toolchain: Latest development tools
- Simplicity: Works out of the box
Rocky Linux 9.2: ⭐⭐⭐⭐ (Recommended for enterprise)
Best for: Enterprise environments, stability-focused deployments
- Enterprise proven: RHEL-compatible, long-term support
- Security focused: SELinux, comprehensive auditing
- Stability: Conservative updates, proven in production
- Multiple install paths: Flexible installation options
Conclusion
✅ Rocky Linux 9 installation fully validated and production-ready
Key Findings:
- Multiple installation methods work: Both full development and pip-only approaches
- Same agent functionality: Identical feature set to Ubuntu deployment
- Production suitable: Stable, secure, enterprise-ready platform
- No compatibility issues: Python 3.9 sufficient for all features
Updated Recommendation:
- New deployments: Ubuntu 24.04 LTS (fastest, most modern)
- Enterprise environments: Rocky Linux 9 (stability, security, compliance)
- Both platforms: Fully supported and production-ready
Next Steps for Documentation
- ✅ Update Rocky 9 installation guide with pip-based method as primary approach
- ✅ Add alternative installation section for environments without development tools
- ✅ Include enterprise deployment considerations
- ✅ Document both lightweight and full installation paths
The validation confirms that Rocky Linux 9 is an excellent platform for waldur-site-agent with flexible installation options suitable for various deployment scenarios.
Rocky 9 Installation Validation Results
Test Environment
- OS: Rocky Linux 9.2 (Blue Onyx)
- Test Date: November 21, 2025
- Server: 193.40.154.165
- Initial Access: SSH as
rockyuser
Validation Progress
✅ Completed Steps
System Information Verification
- Confirmed Rocky Linux 9.2 (Blue Onyx)
- ID: rocky, VERSION_ID: 9.2
- Support until 2032-05-31
System Update Process
sudo dnf update -yinitiated successfully- Process began updating 280 packages including kernel 5.14.0-570.58.1.el9_6
- Large updates including linux-firmware (658 MB) and other system components
Development Tools Installation
dnf groupinstall "Development Tools"started successfully- Installation included essential packages:
- gcc, gcc-c++, make, git, autoconf, automake
- binutils, bison, flex, libtool, etc.
⚠️ Interrupted Steps
Connection Lost
- Server became unreachable during package installation
- SSH connection refused (port 22)
- Likely system reboot during kernel update process
Identified Requirements for Rocky 9
Based on initial testing and system analysis:
System Dependencies
- EPEL Repository - Required for additional packages
1 | |
- Development Tools Group - Essential for building Python packages
1 | |
- System Libraries - Required for waldur-site-agent dependencies
1 | |
Python 3.11 Installation
Rocky 9 ships with Python 3.9 by default. For optimal compatibility:
1 2 | |
Security Considerations
- SELinux - Enabled by default, requires proper contexts
- Firewalld - Active, needs configuration for API endpoints
- Service User - Dedicated user recommended for security
Service Management
- Systemd - Version supports required features
- Journal Logging - Available for log management
- Service Dependencies - Standard systemd unit files compatible
Recommended Installation Refinements
1. Robust Installation Script
Create a script that handles common issues:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
2. Service User Setup
1 2 3 4 5 6 7 | |
3. SELinux Configuration
1 2 3 4 | |
Next Steps for Complete Validation
- Reconnect to System - When server is available
- Complete Installation - Run through full process
- Test All Modes - Verify each agent mode works
- Document Issues - Any Rocky 9 specific problems
- Performance Testing - Resource usage and stability
Known Considerations
Package Management
- DNF is the package manager (not YUM)
- EPEL repository needed for additional packages
- Rocky repositories mirror RHEL structure
Python Environment
- Default Python 3.9 should work but 3.11 recommended
- UV package manager preferred over pip
- Virtual environments recommended for isolation
Networking
- Firewalld active by default
- NetworkManager handles network configuration
- IPv6 enabled by default
Security
- SELinux enforcing by default
- Automatic security updates available via dnf-automatic
- Audit logging enabled
Lessons Learned
- Large Updates - Rocky 9 systems may require significant updates on fresh install
- Reboot Required - Kernel updates may cause system restart
- Connection Stability - Plan for potential interruptions during system updates
- EPEL Dependency - Many development packages require EPEL repository
Recommendations for Documentation
- Add Reboot Warning - Inform users about potential system restart during updates
- Connection Recovery - Document how to handle SSH disconnections
- Verification Steps - Add commands to verify installation at each step
- Troubleshooting - Common issues and solutions section
SLURM Usage Reporting Setup Guide
This guide explains how to set up a single Waldur Site Agent instance for usage reporting with SLURM backend. This configuration is ideal when you only need to collect and report usage data from your SLURM cluster to Waldur Mastermind.
Overview
The usage reporting agent (report mode) collects CPU, memory, and other resource usage data from SLURM
accounting records and sends it to Waldur Mastermind. It runs in a continuous loop, fetching usage data for
the current billing period and reporting it at regular intervals.
Prerequisites
System Requirements
- Linux system with access to SLURM cluster head node
- Python 3.11 or higher
uvpackage manager installed- Root access (required for SLURM commands)
- Network access to Waldur Mastermind API
SLURM Requirements
- SLURM accounting enabled (
sacctandsacctmgrcommands available) - Access to SLURM accounting database
- Required SLURM commands:
sacct- for usage reportingsacctmgr- for account managementsinfo- for cluster diagnostics
Installation
1. Clone and Install the Application
1 2 3 4 5 6 | |
2. Create Configuration Directory
1 | |
Configuration
1. Create Configuration File
Create /etc/waldur/waldur-site-agent-config.yaml with the following configuration:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | |
2. Configuration Parameters Explained
Waldur Connection
waldur_api_url: URL to your Waldur Mastermind API endpointwaldur_api_token: API token for authentication (create in Waldur admin)waldur_offering_uuid: UUID of the SLURM offering in Waldur
Backend Settings
default_account: Root account in SLURM cluster- Prefixes: Used to identify accounts created by the agent (for filtering)
Backend Components
cpu: CPU usage tracking in CPU-minutes (SLURM native unit)mem: Memory usage tracking in MB-minutes (SLURM native unit)unit_factor: Conversion factor from SLURM units to Waldur unitsaccounting_type: "usage": Report actual usage (not limits)
Deployment
Option 1: Systemd Service (Recommended)
- Copy service file:
1 | |
- Reload systemd and enable service:
1 2 3 | |
- Check service status:
1 | |
Option 2: Manual Execution
For testing or one-time runs:
1 2 3 4 5 | |
Operation
How It Works
- Initialization: Agent loads configuration and connects to SLURM cluster
- Account Discovery: Identifies accounts matching configured prefixes
- Usage Collection:
- Runs
sacctto collect usage data for current billing period - Aggregates CPU and memory usage per account and user
- Converts SLURM units to Waldur units using configured factors
- Reporting: Sends usage data to Waldur Mastermind API
- Sleep: Waits for configured interval (default: 30 minutes)
- Repeat: Returns to step 3
Timing Configuration
Control reporting frequency with environment variable:
1 2 | |
Logging
Systemd Service Logs
1 2 3 4 5 | |
Manual Execution Logs
Logs are written to stdout/stderr when running manually.
Monitoring and Troubleshooting
Health Checks
- Test SLURM connectivity:
1 | |
- Verify configuration:
1 2 | |
Common Issues
SLURM Commands Not Found
- Ensure SLURM tools are in PATH
- Verify
sacctandsacctmgrare executable - Check SLURM accounting is enabled
Authentication Errors
- Verify Waldur API token is valid
- Check network connectivity to Waldur Mastermind
- Ensure offering UUID exists in Waldur
No Usage Data
- Verify accounts exist in SLURM with configured prefixes
- Check SLURM accounting database has recent data
- Ensure users have submitted jobs in the current billing period
Permission Errors
- Agent typically needs root access for SLURM commands
- Verify service runs as root user
- Check file permissions on configuration file
Debugging
Enable debug logging by setting environment variable:
1 | |
Data Flow
1 2 3 4 5 6 | |
Security Considerations
- API Token Security: Store Waldur API token securely, restrict file permissions
- Root Access: Agent needs root for SLURM commands - run in controlled environment
- Network: Ensure secure connection to Waldur Mastermind (HTTPS)
- Logging: Avoid logging sensitive data, configure log rotation
Historical Usage Loading
In addition to regular usage reporting, the SLURM plugin supports loading historical usage data into Waldur. This is useful for:
- Migrating existing SLURM usage data when first deploying Waldur
- Backfilling missing usage data due to outages or configuration issues
- Reconciling billing periods with historical SLURM accounting records
Prerequisites for Historical Loading
Staff User Requirements:
- Historical usage loading requires a staff user API token
- Regular offering API tokens cannot submit historical data
- The staff user must have appropriate permissions in Waldur
Data Requirements:
- SLURM accounting database must contain historical data for the requested periods
- Resources must already exist in Waldur (historical loading cannot create resources)
- Offering users must be configured in Waldur for user-level usage attribution
Historical Usage Command
1 2 3 4 5 6 7 | |
Command Parameters
--config: Path to agent configuration file (same as regular usage reporting)--offering-uuid: UUID of the Waldur offering to load data for--user-token: Staff user API token (not the offering's regular API token)--start-date: Start date in YYYY-MM-DD format--end-date: End date in YYYY-MM-DD format
Processing Behavior
Monthly Processing:
- Historical usage is always processed monthly to align with Waldur's billing model
- Date ranges are automatically split into monthly billing periods
- Each month is processed independently for reliability and progress tracking
Data Attribution:
- Usage data is attributed to the first day of each billing month
- User usage includes both username and offering user URL when available
- Resource-level usage totals are calculated and submitted separately
Error Handling:
- Failed months are logged but don't stop processing of other months
- Individual user usage failures don't affect resource-level usage submission
- Progress is displayed: "Processing month 3/12: 2024-03"
Usage Examples
Load Full Year of Data
1 2 3 4 5 6 7 | |
Load Specific Quarter
1 2 3 4 5 6 7 | |
Load Single Month
1 2 3 4 5 6 7 | |
Monitoring Historical Loads
Progress Tracking
The command provides detailed progress information:
1 2 3 4 5 6 7 8 9 10 11 | |
Log Files
For production use, redirect output to log files:
1 2 3 4 5 6 7 | |
Troubleshooting Historical Loads
Error Messages and Solutions
No Staff Privileges:
1 | |
- Solution: Use an API token from a user with
is_staff=Truein Waldur
No Resources Found:
1 | |
- Solution: Ensure resources exist in Waldur and have
backend_idvalues set
No Usage Data:
1 | |
- Solution: Check SLURM accounting database has data for that period
- Verify SLURM account names match Waldur resource
backend_idvalues
Backend Not Supported:
1 | |
- Solution: Ensure you're using the SLURM backend and have updated code
Performance Considerations
Large Date Ranges:
- Historical loads can take hours for multi-year ranges
- Each month requires multiple API calls to Waldur
- SLURM database queries may be slow for old data
Rate Limiting:
- Waldur may rate limit API calls during bulk submission
- Consider adding delays between months if encountering 429 errors
Database Impact:
- Large historical queries may impact SLURM cluster performance
- Consider running during maintenance windows for multi-year loads
Validation and Verification
Verify Data in Waldur:
- Check resource usage in Waldur marketplace
- Verify billing calculations include historical periods
- Confirm user-level usage attribution is correct
Cross-Reference with SLURM:
1 2 3 4 5 6 7 | |
Integration Notes
This setup is designed for usage reporting only. For a complete Waldur Site Agent deployment that includes:
- Order processing (resource creation/deletion)
- Membership synchronization
- Event processing
You would need additional agent instances or a multi-mode configuration with different service files for each mode.
Historical Loading Integration:
- Historical loading is a separate command, not part of regular agent operation
- Run historical loads before starting regular usage reporting to avoid conflicts
- Historical data submission requires staff tokens, regular reporting uses offering tokens
Ubuntu 24.04 LTS Installation Validation Results
Test Environment
- OS: Ubuntu 24.04.1 LTS (Noble Numbat)
- Test Date: November 21, 2025
- Server: 193.40.154.109
- Initial Access: SSH as
ubuntuuser
Validation Summary
✅ Complete Success
All installation and configuration steps completed successfully with no issues.
Detailed Validation Results
1. System Information ✅
1 2 3 4 5 6 7 | |
Result: Ubuntu 24.04.1 LTS confirmed with excellent compatibility.
2. Python Environment ✅
1 2 3 4 5 | |
Result: Python 3.12.3 pre-installed - excellent version for waldur-site-agent.
3. Package Installation ✅
1 2 3 4 5 6 7 | |
Result: All development dependencies installed successfully, including:
- GCC 13.3.0 toolchain
- Python 3.12 development headers
- Essential build tools and libraries
4. UV Package Manager ✅
1 2 3 4 5 6 | |
Result: UV installed perfectly with latest version.
5. Waldur Site Agent Installation ✅
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Result: Installation completed in under 2 seconds with all dependencies resolved.
6. Agent Functionality ✅
1 2 3 4 | |
Result: All agent commands working correctly with proper help output.
7. Service User Setup ✅
1 2 3 4 | |
Result: Service user created successfully with proper system user configuration.
8. Service User Agent Installation ✅
1 2 3 4 5 | |
Result: Service user successfully installed UV and waldur-site-agent independently.
9. Configuration Management ✅
1 2 3 4 5 | |
Result: Configuration file downloaded and secured with proper permissions.
Ubuntu 24.04 Specific Advantages
1. Excellent Python Support
- Python 3.12.3: Latest stable Python with performance improvements
- Native packages: All Python development packages available in main repository
- Modern tooling: Full support for modern Python packaging (UV, pip, etc.)
2. Updated Development Environment
- GCC 13.3.0: Modern compiler with excellent optimization
- Recent packages: All system libraries are current and compatible
- APT ecosystem: Robust package management with security updates
3. System Integration
- Systemd 255: Latest systemd features for service management
- UFW firewall: Simple firewall management
- Cloud-init: Excellent cloud deployment support
- Snap support: Alternative package installation method available
4. Security Features
- AppArmor: Optional additional security layer
- Unattended upgrades: Automatic security updates available
- Modern TLS: Latest OpenSSL 3.0.13 for secure communications
Performance Observations
Installation Speed
- Package updates: Fast repository access (~5-6 MB/s download speed)
- UV installation: Instant download and setup
- Agent installation: 23 packages resolved and installed in under 2 seconds
- Dependency resolution: Excellent performance with no conflicts
Resource Usage
- Minimal footprint: Base system with development tools uses reasonable resources
- Clean installation: No conflicting packages or deprecated dependencies
- Efficient package management: APT handled all installations cleanly
Compatibility Assessment
Excellent Compatibility ✅
- Python ecosystem: Perfect match with Python 3.12
- Package dependencies: All dependencies available in standard repositories
- UV package manager: Full compatibility with latest UV version
- Systemd services: Modern systemd features fully supported
No Issues Found ❌
- Package conflicts: None detected
- Permission issues: All resolved cleanly
- Path problems: UV integration works perfectly
- Service user setup: Standard Ubuntu procedures work flawlessly
Recommendations
1. Ubuntu 24.04 LTS is Preferred Platform ⭐
- Best Python support: Python 3.12.3 is ideal for waldur-site-agent
- Latest tooling: All development tools are current and optimized
- Long-term support: Ubuntu 24.04 LTS supported until 2029
- Cloud-ready: Excellent for containerized and cloud deployments
2. Installation Process is Production-Ready
- Zero customization needed: Standard installation procedures work perfectly
- Fast deployment: Complete installation possible in under 5 minutes
- Reliable: No edge cases or workarounds required
3. Recommended for New Deployments
- Choose Ubuntu 24.04 LTS over older versions when possible
- All features work out of the box
- Best performance and security posture
Comparison with Rocky 9 Testing
| Aspect | Ubuntu 24.04 LTS | Rocky 9.2 |
|---|---|---|
| Installation | ✅ Complete success | ⚠️ Interrupted (server issues) |
| Python Version | 3.12.3 (excellent) | 3.9 default, 3.11 available |
| Package Management | APT (modern) | DNF (robust) |
| Development Tools | Immediate availability | Requires EPEL repository |
| UV Compatibility | Perfect | Good (after setup) |
| Agent Installation | 2 seconds | Not fully tested |
| Service Integration | Native systemd | Native systemd |
| Security | UFW + AppArmor | Firewalld + SELinux |
Winner: Ubuntu 24.04 LTS provides the smoothest installation experience.
Conclusion
Ubuntu 24.04 LTS provides an excellent platform for Waldur Site Agent deployment with:
Key Advantages
- Zero issues encountered
- Fastest installation time
- Latest Python and development tools
- Perfect UV compatibility
- Production-ready out of the box
The installation instructions in docs/installation-ubuntu24.md are validated and production-ready.
Next Steps
- Ubuntu 24.04 guide completed and validated
- Update main installation.md to highlight Ubuntu 24.04 as preferred platform
- Create additional OS guides as needed
- Consider Ubuntu 24.04 as the reference platform for documentation examples
Test Environment Details
System Resources During Testing
- CPU: Adequate performance for compilation and installation
- Memory: Sufficient for all development package installations
- Disk: Fast I/O for package downloads and installations
- Network: Excellent connectivity to Ubuntu repositories
Package Versions Installed
- build-essential: 12.10ubuntu1
- python3-dev: 3.12.3-0ubuntu2.1
- UV: 0.9.11 (latest)
- waldur-site-agent: 0.7.8 (latest stable)
- waldur-api-client: 7.8.5 (latest dependency)
This validation confirms Ubuntu 24.04 LTS as the gold standard platform for Waldur Site Agent deployments.
Ended: Docs
Plugins ↵
Basic username management ↵
Basic Username Management plugin for Waldur Site Agent
This plugin provides basic username generation and management capabilities for Waldur Site Agent.
Installation
See the main Installation Guide for platform-specific installation instructions.
Ended: Basic username management
Croit s3 ↵
Croit S3 Storage Plugin for Waldur Site Agent
This plugin provides integration between Waldur Mastermind and Croit S3 storage systems via RadosGW API. Each marketplace resource automatically creates one S3 user with configurable safety limits.
Features
- Automatic S3 User Creation: One S3 user per marketplace resource with slug-based naming
- Usage-Based Billing: Track actual storage and object consumption
- Safety Quota Enforcement: Optional bucket quotas based on user-specified limits
- Usage Reporting: Real-time storage and object count metrics
- Credential Management: S3 access keys exposed via resource metadata
- Bearer Token Authentication: Secure API access with configurable SSL verification
Installation
Add the plugin to your UV workspace:
1 2 | |
Configuration
Basic Configuration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
Configuration Options
Backend Settings
api_url(required): Croit API base URL (will be appended with /api)token(optional): Bearer token for API authenticationusername(optional): API username (alternative to token)password(optional): API password (alternative to token)verify_ssl(optional, default:true): Enable/disable SSL certificate verificationtimeout(optional, default:30): Request timeout in secondsuser_prefix(optional, default:"waldur_"): Prefix for generated usernamesslug_separator(optional, default:"_"): Separator for slug componentsmax_username_length(optional, default:64): Maximum username lengthdefault_tenant(optional): Default RadosGW tenantdefault_placement(optional): Default placement ruledefault_storage_class(optional): Default storage class
Component Types
Usage-Based Storage (s3_storage)
Tracks actual storage consumption with optional safety quota enforcement:
1 2 3 4 5 | |
Usage-Based Objects (s3_objects)
Tracks object count with optional safety quota enforcement:
1 2 3 4 | |
Note: The plugin automatically creates one S3 user per marketplace resource. No separate user component is needed.
Username Generation
Usernames are automatically generated from Waldur resource metadata:
Format: {prefix}{org_slug}_{project_slug}_{resource_uuid_short}
Example: waldur_myorg_myproject_12345678
Slug Cleaning Rules
- Convert to lowercase
- Replace non-alphanumeric characters with underscores
- Remove consecutive underscores
- Truncate if exceeds maximum length
- Preserve prefix and resource UUID
Usage Reporting
The plugin collects usage metrics for all user buckets:
Storage Usage
- Sums
usageSum.sizeacross all user buckets - Converts bytes to configured units (e.g., GB)
- Reports actual storage consumption
Object Usage
- Sums
usageSum.numObjectsacross all user buckets - Reports total object count
Report Format
1 2 3 4 5 6 | |
Resource Metadata
Each S3 user resource exposes comprehensive metadata:
S3 Credentials
1 2 3 4 5 6 7 8 | |
Storage Summary
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Quota Information
1 2 3 4 5 6 7 8 9 | |
Safety Quota Enforcement
When enforce_limits: true is set for usage-based components, the plugin automatically applies safety limits from
resource options as RadosGW bucket quotas:
- Create Resource: Apply initial quotas based on user-specified safety limits (storage_limit, object_limit)
- Prevent Overages: Quotas act as safety nets to prevent unexpected usage charges
- Monitor Usage: Include quota utilization in usage reports
Quota Types
- Storage Quota:
maxSizein bytes (converted from storage_limit in GB) - Object Quota:
maxObjectsas integer count (from object_limit)
How Safety Limits Work
- User Configuration: Users set
storage_limitandobject_limitvia Waldur marketplace form - Resource Options: Waldur passes these as resource attributes to the site agent
- Quota Application: Plugin applies these as bucket quotas during S3 user creation
- Usage Billing: Actual consumption is tracked and billed separately from quotas
Waldur Marketplace Integration
Creating the Matching Offering
To create a matching offering in Waldur Mastermind, run the setup script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | |
Alternative: Save the above code as setup_croit_s3_offering.py and run:
1 | |
Offering Configuration
The created Waldur offering will have:
- Type:
SITE_AGENT_OFFERING("Marketplace.Slurm") - Components:
s3_storageands3_objects(both usage-based billing) - Options:
storage_limitandobject_limitfor user input (safety limits) - Plugin Options:
create_orders_on_resource_option_change: true - Pricing: €0.02/GB/month for storage, €0.0001/object/month for objects
Order Payload Example
1 2 3 4 5 6 7 8 9 10 11 12 | |
Testing
Run the test suite:
1 2 | |
Development
Adding New Components
- Define component in site agent configuration:
1 2 3 4 5 | |
- Add usage collection logic in
_get_usage_report() - Add safety limit handling in
_apply_bucket_quotas()if needed - Add corresponding field in Waldur offering options for user input
Error Handling
The plugin includes comprehensive error handling:
CroitS3AuthenticationError: API authentication failuresCroitS3UserNotFoundError: User doesn't existCroitS3UserExistsError: User already existsCroitS3APIError: General API errorsCroitS3Error: Base exception class
Troubleshooting
SSL Certificate Issues
1 2 | |
Connection Timeouts
1 2 | |
Username Length Issues
1 2 3 | |
Debug Logging
Use standard Python logging configuration or waldur-site-agent logging settings to enable debug output for the plugin modules:
waldur_site_agent_croit_s3.client- HTTP API interactionswaldur_site_agent_croit_s3.backend- Backend operations
Resource Lifecycle
- Order Creation: User submits order with
storage_limitandobject_limit - User Creation: Plugin creates S3 user with slug-based username
- Quota Application: Safety limits applied as bucket quotas
- Credential Exposure: Access keys returned via resource metadata
- Usage Tracking: Real-time storage and object consumption reporting
- Limit Updates: Users can modify safety limits (creates new orders)
- Resource Deletion: S3 user and all buckets are removed
Ended: Croit s3
Cscs dwdi ↵
CSCS-DWDI Plugin for Waldur Site Agent
This plugin provides integration with the CSCS Data Warehouse Data Intelligence (DWDI) system to report both computational and storage usage data to Waldur. The plugin supports secure OIDC authentication and optional SOCKS proxy connectivity for accessing DWDI API endpoints from restricted networks.
Features
- Dual Backend Support: Separate backends for compute and storage resource usage reporting
- OIDC Authentication: Secure client credentials flow with automatic token refresh
- Proxy Support: SOCKS and HTTP proxy support for network-restricted environments
- Flexible Configuration: Configurable unit conversions and component mappings
- Production Ready: Comprehensive error handling and logging
Overview
The plugin implements two separate backends to handle different types of accounting data:
- Compute Backend (
cscs-dwdi-compute): Reports CPU and node hour usage from HPC clusters - Storage Backend (
cscs-dwdi-storage): Reports storage space and inode usage from filesystems
Backend Types
Compute Backend
The compute backend queries the DWDI API for computational resource usage and reports:
- Node hours consumed by accounts and users
- CPU hours consumed by accounts and users
- Account-level and user-level usage aggregation
API Endpoints Used:
/api/v1/compute/usage-month/account- Monthly usage data/api/v1/compute/usage-day/account- Daily usage data
Storage Backend
The storage backend queries the DWDI API for storage resource usage and reports:
- Storage space used (converted from bytes to configured units)
- Inode (file count) usage
- Path-based resource identification
API Endpoints Used:
/api/v1/storage/usage-month/filesystem_name/data_type- Monthly storage usage/api/v1/storage/usage-day/filesystem_name/data_type- Daily storage usage
Configuration
Compute Backend Configuration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Storage Backend Configuration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
Authentication
Both backends use OIDC client credentials flow for authentication with the DWDI API. The authentication tokens are automatically managed with refresh capabilities.
Required Settings
cscs_dwdi_client_id: OIDC client identifiercscs_dwdi_client_secret: OIDC client secretcscs_dwdi_oidc_token_url: OIDC token endpoint URL
Optional Settings
cscs_dwdi_oidc_scope: OIDC scope (defaults to "openid")
Token Management
- Tokens are automatically acquired and cached
- Automatic token refresh before expiration
- Error handling for authentication failures
SOCKS Proxy Support
Both backends support SOCKS proxy for network connectivity. This is useful when the DWDI API is only accessible through a proxy or jump host.
SOCKS Proxy Configuration
Add the SOCKS proxy setting to your backend configuration:
1 2 3 | |
Supported Proxy Types
- SOCKS5:
socks5://hostname:port - SOCKS4:
socks4://hostname:port - HTTP:
http://hostname:port
Usage Examples
SSH Tunnel with SOCKS5:
1 2 3 4 5 6 | |
HTTP Proxy:
1 2 | |
Resource Identification
Compute Resources
For compute resources, the system uses account names as returned by the DWDI API. The Waldur resource
backend_id should match the account name in the cluster accounting system.
Storage Resources
For storage resources, there are two options:
- Direct Path Usage: Set the Waldur resource
backend_idto the actual filesystem path - Path Mapping: Use the
storage_path_mappingsetting to map resource IDs to paths
Usage Reporting
Both backends are read-only and designed for usage reporting. They implement the _get_usage_report() method
but do not support:
- Account creation/deletion
- Resource management
- User management
- Limit setting
Example Configurations
See the examples/ directory for complete configuration examples:
cscs-dwdi-compute-config.yaml- Compute backend onlycscs-dwdi-storage-config.yaml- Storage backend onlycscs-dwdi-combined-config.yaml- Both backends in one configuration
Installation
The plugin is automatically discovered when the waldur-site-agent-cscs-dwdi package is installed alongside waldur-site-agent.
UV Workspace Installation
1 2 3 4 5 | |
Manual Installation
1 2 3 4 5 | |
Testing
Running Tests
1 2 3 4 5 6 7 8 | |
Test Coverage
The test suite covers:
- Client initialization and configuration
- OIDC authentication flow
- API endpoint calls (mocked)
- Usage data processing
- Error handling scenarios
- Backend initialization and validation
API Compatibility
This plugin is compatible with DWDI API version 1 (/api/v1/). It requires the following API endpoints to be available:
Compute API:
/api/v1/compute/usage-month/account/api/v1/compute/usage-day/account
Storage API:
/api/v1/storage/usage-month/filesystem_name/data_type/api/v1/storage/usage-day/filesystem_name/data_type
Troubleshooting
Authentication Issues
Problem: Authentication failures or token errors
Solutions:
- Verify OIDC client credentials are correct
- Check that the token endpoint URL is accessible
- Ensure the client has appropriate scopes for DWDI API access
- Verify network connectivity to the OIDC provider
- Check logs for specific authentication error messages
Testing authentication:
1 2 3 4 | |
Storage Backend Issues
Problem: Storage usage data not found or incorrect
Solutions:
- Verify
storage_filesystemandstorage_data_typematch available values in DWDI - Check
storage_path_mappingif using custom resource IDs - Ensure storage paths exist in the DWDI system
- Validate that the paths have usage data for the requested time period
Connection Issues
Problem: Network connectivity or API access failures
Solutions:
- Use the
ping()method to test API connectivity - Check network connectivity to the DWDI API endpoint
- Verify SSL/TLS configuration and certificates
- If behind a firewall, configure SOCKS proxy (
socks_proxysetting) - Check DNS resolution for the API hostname
Proxy Issues
Problem: SOCKS or HTTP proxy connection failures
Solutions:
- Verify proxy server is running and accessible
- Check proxy authentication if required
- Test proxy connectivity manually:
curl --proxy socks5://localhost:12345 https://dwdi.cscs.ch - Ensure proxy supports the required protocol (SOCKS4/5, HTTP)
- Verify proxy URL format is correct (e.g.,
socks5://hostname:port)
Debugging Tips
Enable debug logging:
1 2 | |
Test API connectivity:
1 2 3 4 5 | |
Development
Project Structure
1 2 3 4 5 6 7 8 9 10 | |
Key Classes
CSCSDWDIComputeBackend: Compute usage reporting backendCSCSDWDIStorageBackend: Storage usage reporting backendCSCSDWDIClient: HTTP client for CSCS-DWDI API communication with OIDC authentication
Key Features
- Automatic Token Management: OIDC tokens are cached and refreshed automatically
- Proxy Support: Built-in SOCKS and HTTP proxy support using httpx
- Error Handling: Comprehensive error handling with detailed logging
- Flexible Configuration: Support for custom unit conversions and component mappings
Extension Points
To extend the plugin:
- Additional Endpoints: Modify
CSCSDWDIClientto support more API endpoints - Authentication Methods: Update authentication logic in
client.py - Data Processing: Enhance response processing methods for additional data formats
- Proxy Types: Extend proxy support for additional proxy protocols
Contributing
When contributing to this plugin:
- Follow the existing code style and patterns
- Add tests for new functionality
- Update documentation for new features
- Ensure backward compatibility with existing configurations
Ended: Cscs dwdi
Cscs hpc storage ↵
CSCS HPC Storage Backend
A Waldur Site Agent backend plugin for managing CSCS HPC Storage systems. This backend provides a REST API proxy to access storage resource information from Waldur.
Overview
The CSCS HPC Storage backend provides a REST API proxy that serves storage resource information from Waldur Mastermind. The proxy translates Waldur resource data into CSCS-specific JSON format for consumption by external web servers and storage management systems.
Features
- REST API Proxy: Provides HTTP API access to storage resource information from Waldur
- Multi-offering support: Aggregates resources from multiple storage system offerings (capstor, vast, iopsstor)
- Hierarchical storage structure: Maps Waldur offering customer → resource customer → resource project to storage tenant → customer → project
- Configurable quotas: Automatic inode quota calculation based on storage size
- UNIX GID from Waldur API: Fetches project Unix GID values from Waldur project metadata
- GID caching: Project GID values are cached in memory until server restart to reduce API calls
- Configurable GID field: Specify custom backend_metadata field name for Unix GID lookup
- Mock data support: Development/testing mode with generated target item data and fallback GID values
- Flexible configuration: Customizable file system types and quota coefficients
- API Filtering: Supports filtering by storage system, data type, status, and pagination
Configuration
Backend Settings
1 2 3 4 5 6 7 | |
Backend Components
1 2 3 4 5 6 | |
Storage Systems Configuration
The storage proxy supports multiple storage systems through offering slug mapping:
1 2 3 4 5 6 | |
Architecture
The CSCS HPC Storage backend provides a REST API proxy that serves storage resource information:
graph TD
subgraph "Storage Proxy API"
SP[Storage Proxy Server<br/>FastAPI Application]
API[REST API Endpoints<br/>/api/storage-resources/]
AUTH[Authentication<br/>Keycloak/OIDC]
end
subgraph "CSCS HPC Storage Plugin"
BACKEND[CSCS Backend<br/>Data Processing]
TRANSFORM[Data Transformation<br/>Waldur → CSCS Format]
CACHE[GID Cache<br/>In-Memory Storage]
GIDFETCH[GID Fetching<br/>Project Metadata]
end
subgraph "Waldur Integration"
WM[Waldur Mastermind<br/>API Client]
RESOURCES[Multi-Offering<br/>Resource Fetching]
PROJECTS[Project API<br/>backend_metadata]
end
subgraph "External Systems"
CLIENT[Client Applications<br/>Web UI, Scripts]
SMS[Storage Management<br/>System]
end
%% API Flow
CLIENT --> AUTH
AUTH --> API
API --> SP
SP --> BACKEND
BACKEND --> TRANSFORM
TRANSFORM --> RESOURCES
RESOURCES --> WM
%% GID Fetching Flow
BACKEND --> CACHE
CACHE --> GIDFETCH
GIDFETCH --> PROJECTS
PROJECTS --> WM
%% Response Flow
WM --> RESOURCES
WM --> PROJECTS
PROJECTS --> GIDFETCH
GIDFETCH --> CACHE
RESOURCES --> TRANSFORM
CACHE --> BACKEND
TRANSFORM --> BACKEND
BACKEND --> SP
SP --> API
API --> CLIENT
%% External Integration
CLIENT --> SMS
%% Styling
classDef proxy stroke:#00bcd4,stroke-width:2px,color:#00acc1
classDef plugin stroke:#ff9800,stroke-width:2px,color:#f57c00
classDef waldur stroke:#9c27b0,stroke-width:2px,color:#7b1fa2
classDef external stroke:#4caf50,stroke-width:2px,color:#388e3c
classDef cache stroke:#e91e63,stroke-width:2px,color:#c2185b
class SP,API,AUTH proxy
class BACKEND,TRANSFORM,GIDFETCH plugin
class WM,RESOURCES,PROJECTS waldur
class CLIENT,SMS external
class CACHE cache
API Usage
Start the storage proxy server:
1 2 3 4 5 6 | |
Query storage resources:
1 2 3 | |
Data Mapping
Waldur to Storage Hierarchy
The three-tier hierarchy maps specific Waldur resource attributes to storage organization levels:
Tenant Level Mapping
Target Type: tenant
Waldur Source Attributes:
resource.provider_slugresource.provider_nameresource.offering_uuid
Generated Fields:
itemId:str(resource.offering_uuid)key:resource.provider_slugname:resource.provider_nameparentItemId:null
Customer Level Mapping
Target Type: customer
Waldur Source Attributes:
resource.customer_slugcustomer_info.name(from API)customer_info.uuid(from API)
Generated Fields:
itemId: deterministic UUID from customer datakey:resource.customer_slugname:customer_info.nameparentItemId: tenantitemId
Project Level Mapping
Target Type: project
Waldur Source Attributes:
resource.project_slugresource.project_nameresource.uuidresource.limits
Generated Fields:
itemId:str(resource.uuid)key:resource.project_slugname:resource.project_nameparentItemId: customeritemIdquotas: fromresource.limits
Key Mapping Details
- Tenant level: Uses the offering owner information (
provider_slug,provider_name) - Customer level: Uses the resource customer information (
customer_slug) with details fetched from Waldur API - Project level: Uses the resource project information (
project_slug,project_name) with resource-specific data
Mount Point Generation
The storage proxy generates hierarchical mount points for three levels of storage organization:
Hierarchical Structure
Mount points are generated at three levels:
- Tenant Level:
/{storage_system}/{data_type}/{tenant} - Customer Level:
/{storage_system}/{data_type}/{tenant}/{customer} - Project Level:
/{storage_system}/{data_type}/{tenant}/{customer}/{project}
Examples
Tenant Mount Point:
1 | |
Customer Mount Point:
1 | |
Project Mount Point:
1 | |
Path Components
Where each component is derived from Waldur resource data:
storage_system: From offering slug (waldur_resource.offering_slug)data_type: Storage data type (e.g.,store,users,scratch,archive)tenant: Offering customer slug (waldur_resource.provider_slug)customer: Resource customer slug (waldur_resource.customer_slug)project: Resource project slug (waldur_resource.project_slug)
Hierarchical Relationships
The three-tier hierarchy provides parent-child relationships:
- Tenant entries have
parentItemId: null(top-level) - Customer entries reference their parent tenant via
parentItemId - Project entries reference their parent customer via
parentItemId
Resource Attributes
The backend extracts the following attributes from waldur_resource.attributes.additional_properties:
| Attribute | Type | Required | Default | Description |
|---|---|---|---|---|
permissions |
string | No | "775" |
Octal permissions for storage access (e.g., "2770", "755") |
storage_data_type |
string | No | "store" |
Storage data type classification. Determines target type mapping |
Storage System Source:
- The
storageSystemvalue comes from theoffering_slugfield, not from resource attributes - Each offering represents a different storage system (e.g., offering with slug "capstor" = capstor storage system)
Validation Rules:
- All attributes must be strings if provided (non-string values raise
TypeError) - Unknown
storage_data_typevalues fall back to"project"target type with warning - Empty or missing attributes use their respective default values
Storage Data Type Mapping:
The storage_data_type attribute determines the target structure in the generated JSON:
- Project targets:
"store","archive"→ target type"project" - Fields:
status,name,unixGid,active - User targets:
"users","scratch"→ target type"user" - Fields:
status,email,unixUid,primaryProject,active
API Filtering
The storage proxy API supports filtering capabilities to query specific storage resources:
API Endpoint
1 | |
Filter Parameters
| Parameter | Type | Required | Description | Allowed Values |
|---|---|---|---|---|
storage_system |
enum | No | Filter by storage system | capstor, vast, iopsstor |
data_type |
string | No | Filter by data type | users, scratch, store, archive |
status |
string | No | Filter by status | pending, removing, active, error |
state |
ResourceState | No | Filter by Waldur resource state | Creating, OK, Erred |
page |
integer | No | Page number (≥1) | 1, 2, 3 |
page_size |
integer | No | Items per page (1-500) | 50, 100, 200 |
debug |
boolean | No | Return raw Waldur data for debugging | true, false |
Example API Calls
Get all storage resources:
1 | |
Filter by storage system:
1 | |
Filter by storage system and data type:
1 | |
Filter by storage system, data type, and status:
1 | |
Paginated results with filters:
1 | |
Debug mode for troubleshooting:
1 | |
Filter Behavior
- Optional filtering: All filters are optional and applied only when provided
- Value validation:
storage_systemonly accepts:capstor,vast,iopsstor - Default behavior: Without filters, returns resources from all configured storage systems
- Exact matching: All filters use exact string matching (case-sensitive)
- Combine filters: Multiple filters are combined with AND logic
- Empty results: Non-matching filters return empty result arrays
- Post-serialization filtering: Filters are applied after JSON transformation to ensure consistent behavior across single and multi-offering queries
Filter Implementation Details
The filtering system processes resources in the following sequence:
- Resource fetching: Resources are retrieved from Waldur API using offering slugs
- JSON serialization: Raw Waldur resources are transformed to CSCS JSON format
- Filter application: Filters (
data_type,status) are applied to serialized JSON objects - Pagination: Results are paginated based on filtered resource count
This approach ensures that filters work consistently whether querying a single storage system or multiple storage systems simultaneously.
Error Responses
Invalid storage_system value:
1 2 3 4 5 6 7 8 9 10 11 | |
Empty storage_system parameter:
1 2 3 4 5 6 7 8 9 10 11 | |
Debug Mode
When debug=true is specified, the API returns raw Waldur data without translation to the CSCS
storage JSON format. This is useful for troubleshooting and understanding the source data.
Debug Response Format:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | |
Debug Mode Features:
- Separate configurations: Shows both agent's offering config and live Waldur offering details
- Agent offering config: Configuration from the agent's YAML file (excludes
secret_options) - Waldur offering details: Complete live offering data from Waldur API with all available attributes
- Complete attribute exposure: All
ProviderOfferingDetailsattributes are included dynamically - Raw resource data: Unprocessed Waldur resource data with all fields
- Filter transparency: Shows which filters were applied to the results
- Security: Only
secret_optionsis explicitly excluded for security - Smart serialization: Automatically handles UUIDs, dates, and complex nested objects
- Error handling: Shows errors if offering lookup fails, continues with other attributes
- Useful for debugging: Compare agent config vs Waldur state, see all available offering data
Recent Improvements
Storage Hierarchy Mapping Update
The storage hierarchy mapping has been updated to better align with multi-tenant storage architectures:
- Tenant level: Now uses
provider_slug(the customer who owns the offering) - Customer level: Now uses
customer_slug(the customer using the resource) - Project level: Now uses
project_slug(the project containing the resource) - Rationale: This mapping provides clearer organizational boundaries in multi-tenant environments
Multi-Offering Storage System Support
The storage proxy now supports aggregating resources from multiple storage system offerings:
- Configurable storage systems: Map storage system names to Waldur offering slugs
- Unified API responses: Single endpoint returns resources from all configured storage systems
- Consistent filtering: Filters work across all storage systems or can target specific ones
- Resource aggregation: Resources from multiple offerings are combined and properly paginated
UNIX GID Fetching from Waldur API
The backend fetches Unix GID values for projects directly from Waldur's project metadata:
flowchart TD
START(["Backend needs Unix GID<br/>for project"]) --> CHECK_CACHE{"GID in<br/>cache?"}
CHECK_CACHE -->|Yes| RETURN_CACHED["Return cached GID"]
CHECK_CACHE -->|No| FETCH["Fetch project from<br/>Waldur API"]
FETCH --> API_CALL["GET /api/projects/{uuid}/<br/>with client credentials"]
API_CALL --> CHECK_META{"backend_metadata<br/>has GID field?"}
CHECK_META -->|Yes| EXTRACT["Extract GID from<br/>backend_metadata[unix_gid_field]"]
CHECK_META -->|No| CHECK_DEV{"Development<br/>mode enabled?"}
EXTRACT --> CACHE["Cache GID by<br/>project UUID"]
CACHE --> RETURN_FETCHED["Return GID"]
CHECK_DEV -->|Yes| MOCK["Generate deterministic<br/>mock GID from project slug<br/>(30000 + hash % 10000)"]
CHECK_DEV -->|No| ERROR["Raise BackendError:<br/>GID not found"]
MOCK --> CACHE
RETURN_CACHED --> END(["GID available for<br/>target item creation"])
RETURN_FETCHED --> END
ERROR --> END
style START fill:#e3f2fd
style END fill:#e8f5e9
style CHECK_CACHE fill:#fff9c4
style CHECK_META fill:#fff9c4
style CHECK_DEV fill:#fff9c4
style CACHE fill:#fce4ec
style ERROR fill:#ffebee
style MOCK fill:#f3e5f5
Key Features:
- Direct Waldur API integration: Uses
projects_retrieveendpoint to fetch project details - Configurable field name: The
unix_gid_fieldsetting (default:"unix_gid") specifies which field inbackend_metadatacontains the GID - In-memory caching: Project GID values are cached by UUID until server restart to minimize API calls
- Development mode fallback: When
development_mode: true, generates deterministic mock GID values if not found in metadata - Production error handling: In production mode, raises
BackendErrorif GID is not found in project metadata - Automatic cache key management: Uses project UUID as cache key for consistent lookups
Configuration:
1 2 3 | |
Project Metadata Structure:
The backend expects the Unix GID to be stored in the project's backend_metadata:
1 2 3 4 5 6 7 | |
Custom Field Example:
If your Waldur deployment uses a different field name:
1 2 | |
Then the backend will look for:
1 2 3 4 5 | |
Data Type Filtering Fix
Resolved data_type filtering issues that affected multi-storage-system queries:
- Root cause: Filtering was applied before JSON serialization in multi-offering queries
- Solution: Unified filtering approach applied after JSON serialization across all query types
- Behavior: Consistent filtering whether querying single or multiple storage systems
- Impact:
data_typeparameter now works correctly in all scenarios
Troubleshooting
Common Issues
Data type filtering not working:
- Ensure you're using lowercase values:
data_type=archivenotdata_type=Archive - Check that the storage system has resources with the specified data type
- Use
debug=trueto inspect raw data and verify data type values
GID not found errors:
- Ensure project has
backend_metadatawith the configured GID field - Check field name matches
unix_gid_fieldsetting (default:"unix_gid") - Enable
development_mode: truefor testing with mock GID values - Verify project UUID is correct in resource data
GID cache not working:
- Cache statistics available via backend's
get_gid_cache_stats()method - Cache persists until server restart (no TTL-based expiration)
- Mock values are used in development mode when GID is not found in metadata
Empty filter results:
- Verify filter values match exactly (case-sensitive)
- Use
debug=trueto see available values in raw data - Check that storage system configuration matches offering slugs
Performance Considerations
- GID caching: Reduces Waldur API calls by caching project GIDs by UUID until server restart
- Multi-offering efficiency: Single API call to Waldur with comma-separated offering slugs
- Pagination: Applied after filtering to ensure accurate page counts
- Lazy GID fetching: GIDs are only fetched when creating storage resource JSON, not during initial resource listing
Related Plugins
Compute & HPC Plugins
- SLURM Plugin - SLURM cluster management
- MOAB Plugin - MOAB cluster management
- MUP Plugin - MUP portal integration
Container & Cloud Plugins
- OpenShift/OKD Plugin - OpenShift and OKD container platform management
- Harbor Plugin - Harbor container registry management
Storage Plugins
- Croit S3 Plugin - Croit S3 storage management
Accounting Plugins
- CSCS DWDI Plugin - CSCS DWDI accounting integration
Utility Plugins
- Basic Username Management Plugin - Username generation and management
Ended: Cscs hpc storage
Harbor ↵
Harbor Container Registry Plugin for Waldur Site Agent
This plugin provides production-ready integration between Waldur Mastermind and Harbor container registry, enabling automated management of Harbor projects, storage quotas, and OIDC-based access control.
Features
- ✅ Automated Project Management: Creates Harbor projects for each Waldur resource
- ✅ Storage Quota Management: Configurable storage limits with usage tracking
- ✅ OIDC Integration: Automatic OIDC group creation and assignment for access control
- ✅ Usage Reporting: Reports container storage usage back to Waldur for billing
- ✅ Robot Account Authentication: Uses Harbor robot accounts for API operations
- ✅ Production Ready: All operations tested and working with Harbor API v2.0
Architecture & Mapping
Waldur ↔ Harbor Resource Mapping
graph TB
subgraph "Waldur Mastermind"
WC[Waldur Customer<br/>customer-slug]
WP[Waldur Project<br/>project-slug]
WR1[Waldur Resource 1<br/>resource-slug-1]
WR2[Waldur Resource 2<br/>resource-slug-2]
WU1[Waldur User 1]
WU2[Waldur User 2]
WU3[Waldur User 3]
end
subgraph "Harbor Registry"
HG[OIDC Group<br/>waldur-project-slug]
HP1[Harbor Project 1<br/>waldur-resource-slug-1]
HP2[Harbor Project 2<br/>waldur-resource-slug-2]
HQ1[Storage Quota 1<br/>e.g., 10GB]
HQ2[Storage Quota 2<br/>e.g., 20GB]
HR1[Container Repos 1]
HR2[Container Repos 2]
end
subgraph "OIDC Provider"
OG[OIDC Group<br/>waldur-project-slug]
OU1[OIDC User 1]
OU2[OIDC User 2]
OU3[OIDC User 3]
end
%% Relationships
WC --> WP
WP --> WR1
WP --> WR2
WP --> WU1
WP --> WU2
WP --> WU3
%% Waldur to Harbor mapping
WR1 -.->|"1:1 mapping"| HP1
WR2 -.->|"1:1 mapping"| HP2
WP -.->|"1:1 mapping"| HG
%% Harbor internal relationships
HG -->|"Developer role"| HP1
HG -->|"Developer role"| HP2
HP1 --> HQ1
HP2 --> HQ2
HP1 --> HR1
HP2 --> HR2
%% OIDC relationships
WU1 -.->|"SSO identity"| OU1
WU2 -.->|"SSO identity"| OU2
WU3 -.->|"SSO identity"| OU3
OU1 --> OG
OU2 --> OG
OU3 --> OG
HG -.->|"Same group"| OG
%% Styling
classDef waldur fill:#e1f5fe
classDef harbor fill:#fff3e0
classDef oidc fill:#f3e5f5
class WC,WP,WR1,WR2,WU1,WU2,WU3 waldur
class HG,HP1,HP2,HQ1,HQ2,HR1,HR2 harbor
class OG,OU1,OU2,OU3 oidc
Key Mapping Rules
- Waldur Resource → Harbor Project (1:1)
- Each Waldur resource creates a separate Harbor project
- Provides complete isolation between different registry resources
-
Project names:
{allocation_prefix}{resource_slug} -
Waldur Project → OIDC Group (1:1)
- One OIDC group per Waldur project for access control
- All project team members get access to ALL Harbor projects within the Waldur project
-
Group names:
{oidc_group_prefix}{project_slug} -
Storage Management
- Each Harbor project gets individual storage quota
- Quotas set based on Waldur resource limits
- Usage reported back to Waldur for billing
Installation
- Install the plugin alongside waldur-site-agent:
1 2 | |
- Configure the plugin in your waldur-site-agent configuration file
Configuration
Add the Harbor backend configuration to your waldur-site-agent-config.yaml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | |
Robot Account Permissions
Critical: The Harbor robot account must have the following permissions:
- ✅ Project creation (
POST /api/v2.0/projects) - ✅ Project deletion (
DELETE /api/v2.0/projects/{id}) - REQUIRED for proper resource lifecycle - ✅ Quota management (
GET/PUT /api/v2.0/quotas) - ✅ User group management (
GET/POST /api/v2.0/usergroups) - ✅ Project member management (
GET/POST/DELETE /api/v2.0/projects/{id}/members)
✅ Verified: All operations including project deletion are working with proper system-level robot account permissions.
Harbor Setup
1. Create Robot Account
- Login to Harbor as admin
- Navigate to Administration → Robot Accounts
- Create a new robot account with system-level permissions:
- Level: System (not project-specific)
- Permissions:
- Project: Create, Read, Update, Delete
- Resource: Create, Read, Update
- Member: Create, Read, Update, Delete
- Quota: Read, Update
- Save the credentials for configuration
Note: The robot account needs system-level permissions to delete projects. Project-level robot accounts cannot delete their own projects.
2. Configure OIDC Authentication
- Navigate to Administration → Configuration → Authentication
- Set Auth Mode to "OIDC"
- Configure OIDC provider settings:
- OIDC Endpoint: Your identity provider URL
- OIDC Client ID: Harbor client ID in your IdP
- OIDC Client Secret: Harbor client secret
- OIDC Scope:
openid,email,profile,groups - Group Claim Name:
groups(or your IdP's group claim)
3. Configure Storage Quotas
- Navigate to Administration → Configuration → System Settings
- Set appropriate global storage quota limits
- Individual project quotas will be managed by the agent
Usage
Running the Agent
1 2 3 4 5 6 7 8 | |
Systemd Service
Create a systemd service for automated operation:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
API Operations
The plugin implements the following Harbor API operations:
✅ Project Management (Fully Working)
- ✅ Create project with minimal payload
- ✅ Get project details and metadata
- ✅ List all projects
- ✅ Delete project (complete resource lifecycle)
✅ Storage Quota Management (Fully Working)
- ✅ Set project storage quotas
- ✅ Update project storage quotas
- ✅ Query current quota usage
- ✅ Report storage consumption for billing
✅ OIDC Group Management (Fully Working)
- ✅ Create OIDC groups
- ✅ Assign groups to projects with specified roles (Admin/Developer/Guest/Maintainer)
- ✅ List existing user groups
- ✅ Search for specific groups
✅ Usage Reporting (Fully Working)
- ✅ Query project storage usage via quota API
- ✅ Report repository counts
- ✅ Track storage consumption for Waldur billing
- ✅ Get project metadata and statistics
🔄 Supported Waldur Operations
- ✅ order_process: Create/update Harbor projects and quotas
- ✅ report: Report storage usage back to Waldur
- ✅ membership_sync: Manage OIDC group memberships
- ✅ diagnostics: Health checks and connectivity testing
Testing
Run the test suite:
1 2 3 4 5 | |
Troubleshooting
✅ Known Issues & Solutions
1. CSRF Token Errors (SOLVED)
Symptom: 403 Forbidden - CSRF token not found in request
Root Cause: Harbor's session-based authentication requires CSRF tokens for persistent sessions.
✅ Solution: The plugin now uses direct HTTP requests with authentication tuples instead of persistent sessions, which bypasses CSRF requirements entirely.
Technical Details:
1 2 3 4 5 6 7 8 | |
2. Robot Account Permissions
Symptoms:
- Can list projects but cannot create them
- Can create projects but cannot set quotas
- Cannot create OIDC groups
✅ Solution: Ensure robot account has system-level permissions:
- Login to Harbor as admin
- Go to Administration → Robot Accounts
- Edit your robot account
- Grant these system-level permissions:
- Project: Create, Read, Update, Delete
- Resource: Create, Read, Update
- Member: Create, Read, Update, Delete
- Quota: Read, Update
Critical: Without project deletion permissions, Harbor projects will accumulate when Waldur resources are terminated, leading to storage waste and potential quota issues.
Common Issues
- Authentication Failures
- ✅ Verify robot account credentials in configuration
- ✅ Test connectivity:
curl -u "robot\$user:pass" https://harbor.example.com/api/v2.0/health -
✅ Ensure Harbor API v2.0 is enabled
-
OIDC Group Issues
- ✅ Verify OIDC configuration in Harbor (Administration → Configuration → Authentication)
- ✅ Check group claim configuration (
groupsis common) -
✅ Ensure OIDC provider is properly configured
-
Storage Quota Problems
- ✅ Check global quota settings in Harbor (Administration → Configuration → System Settings)
- ✅ Verify project-specific quotas:
curl -u "robot\$user:pass" https://harbor.example.com/api/v2.0/quotas - ✅ Monitor Harbor system storage availability
Debugging
Enable Debug Logging
1 2 3 4 | |
Test Harbor Client Directly
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Check Logs
1 2 3 4 5 | |
Verification Commands
Test robot account permissions manually:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Expected Results
- ✅ 200/201 for creation operations
- ✅ 200 for read operations
- ✅ 200/204 for update operations
- ✅ 200/204 for deletion operations
- ❌ 403 Forbidden indicates insufficient permissions
Development
Project Structure
1 2 3 4 5 6 7 8 9 10 11 | |
Adding New Features
- Extend the
HarborClientclass for new API operations - Update
HarborBackendto utilize new client methods - Add corresponding tests
- Update documentation
License
This plugin is part of the Waldur Site Agent project and follows the same licensing terms.
Support
For issues and questions:
- Create an issue in the Waldur Site Agent repository
- Contact the OpenNode team
Ended: Harbor
Moab ↵
MOAB plugin for Waldur Site Agent
This plugin provides MOAB cluster management capabilities for Waldur Site Agent.
Installation
See the main Installation Guide for platform-specific installation instructions.
Ended: Moab
Mup ↵
MUP plugin for Waldur Site Agent
This plugin provides MUP (Portuguese project allocation portal) integration capabilities for Waldur Site Agent.
Installation
See the main Installation Guide for platform-specific installation instructions.
Ended: Mup
Okd ↵
Waldur Site Agent OKD Plugin
This plugin enables Waldur Site Agent to manage OKD/OpenShift projects and resources, providing integration between Waldur and OKD/OpenShift clusters.
Features
- Automatic project/namespace creation for Waldur resources
- Resource quota management (CPU, memory, storage, pod limits)
- User access control through RoleBindings
- Resource usage reporting
- Project lifecycle management (create, pause, restore, delete)
Installation
Install the plugin alongside the core waldur-site-agent package:
1 2 3 4 5 | |
Configuration
Create a configuration file (see examples/okd-config.yaml for a complete example):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Authentication Token Management
The plugin supports multiple authentication methods with automatic token refresh:
Static Token (Simple)
For testing or when manually managing tokens:
1 2 3 4 | |
Service Account Token (Production Recommended)
For production deployments with automatic token refresh:
1 2 3 4 5 6 | |
File-Based Token Refresh
When tokens are managed by external systems:
1 2 3 4 5 6 | |
OAuth Token Refresh (Future)
Framework ready for OAuth-based authentication:
1 2 3 4 5 6 7 8 9 10 | |
Waldur to OKD Object Mapping
The plugin maps Waldur organizational hierarchy to OKD/OpenShift projects and namespaces:
graph TB
subgraph "Waldur Hierarchy"
WC[Customer/Organization<br/>e.g. 'ACME Corp']
WP[Project<br/>e.g. 'Web Development']
WR[Resource/Allocation<br/>e.g. 'Production Environment']
WU[Users<br/>e.g. 'john@acme.com']
WC --> WP
WP --> WR
WC --> WU
WP --> WU
end
subgraph "OKD/OpenShift Objects"
ON[Namespace/Project<br/>waldur-alloc-prod-env]
ORQ[ResourceQuota<br/>waldur-quota]
ORB[RoleBinding<br/>waldur-users]
OSA[ServiceAccounts]
ON --> ORQ
ON --> ORB
ON --> OSA
end
subgraph "Mapping Rules"
MR1[Customer → Project Prefix]
MR2[Project → Project Metadata]
MR3[Resource → Namespace]
MR4[Users → RoleBindings]
MR5[Limits → ResourceQuota]
end
WC -.->|Prefix| ON
WP -.->|Metadata| ON
WR ==>|Creates| ON
WU -.->|Binds to| ORB
WR -.->|Sets limits| ORQ
style WR fill:#e1f5fe
style ON fill:#c8e6c9
style ORQ fill:#fff9c4
style ORB fill:#ffccbc
Object Mapping Details
1. Namespace Creation
Waldur resources are mapped to OKD namespaces with a hierarchical naming convention:
| Waldur Object | OKD Namespace Pattern | Example |
|---|---|---|
| Customer Resource | {prefix}org-{customer_slug} |
waldur-org-acme |
| Project Resource | {prefix}proj-{project_slug} |
waldur-proj-webdev |
| Allocation Resource | {prefix}alloc-{allocation_slug} |
waldur-alloc-prod-env |
2. Resource Quotas
Waldur resource limits are translated to Kubernetes ResourceQuotas:
| Waldur Component | OKD ResourceQuota Field | Example |
|---|---|---|
| CPU (Cores) | requests.cpu, limits.cpu |
4 cores |
| Memory (GB) | requests.memory, limits.memory |
16Gi |
| Storage (GB) | requests.storage |
100Gi |
| Pod Count | pods |
50 |
3. User Access Mapping
Waldur user roles are mapped to OpenShift RoleBindings:
| Waldur Role | OpenShift ClusterRole | Permissions |
|---|---|---|
| Owner | admin |
Full namespace administration |
| Manager | edit |
Create/modify resources |
| Member | view |
Read-only access |
4. Metadata and Annotations
Waldur metadata is preserved in OKD annotations:
1 2 3 4 5 6 7 8 9 10 11 12 | |
OKD/OpenShift Setup
Authentication Requirements
The plugin requires a service account token with specific permissions to manage OKD/OpenShift resources. The token must have cluster-level permissions to create and manage projects, namespaces, resource quotas, and role bindings.
Required Permissions
The service account needs the following permissions:
- Project Management: Create, delete, and modify OpenShift projects
- Namespace Management: Manage Kubernetes namespaces and their metadata
- Resource Quota Management: Create and modify resource quotas for namespace limits
- Role Binding Management: Assign users to projects with appropriate roles
- Resource Monitoring: Query resource usage and project status
1. Create Service Account
Create a service account for the Waldur Site Agent:
1 2 3 4 5 | |
2. Grant Permissions
Create a ClusterRole with necessary permissions:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | |
Bind the role to the service account:
1 2 3 4 5 6 7 | |
3. Get Service Account Token
For Production Deployment (Recommended)
Create a long-lived token for production use:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
For Development/Testing
Create a temporary token for testing:
1 2 3 4 5 | |
Token Validation
Verify the token has correct permissions:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Usage
Run the agent with your configuration:
1 | |
Supported Modes
order_process: Process orders from Waldur to create/modify OKD projectsreport: Report resource usage from OKD to Waldurmembership_sync: Synchronize user memberships between Waldur and OKDevent_process: Process events via STOMP (if configured)
Event Processing Configuration
For real-time event processing, configure STOMP settings in your configuration file:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Resource Management
Quotas
Resource quotas are automatically created for each project based on Waldur resource allocations. The quotas enforce both request and limit constraints for:
- CPU cores: Managed through
requests.cpuandlimits.cpu - Memory: Managed through
requests.memoryandlimits.memory - Storage: Managed through persistent volume claims
- Pod count: Maximum number of pods in the namespace
User Access
Users from Waldur are automatically granted access to OKD projects through RoleBindings. The plugin maps Waldur roles to OpenShift ClusterRoles for fine-grained access control.
Testing
Run the plugin tests:
1 2 3 4 5 | |
Troubleshooting
Token Refresh Behavior
The plugin automatically handles token expiration and refresh:
- Automatic Detection: Monitors for 401/403 authentication errors
- Refresh Triggers: Automatically refreshes tokens before expiration (5 minutes buffer)
- Fallback Handling: Gracefully handles token refresh failures
- Retry Logic: Automatically retries failed requests with refreshed tokens
Token Refresh Flow
- Initial Request: Uses current token for API calls
- Failure Detection: Detects 401 Unauthorized responses
- Token Refresh: Invalidates current token and loads new one
- Request Retry: Retries the original request with the new token
- Error Handling: Reports refresh failures with detailed error messages
Authentication Issues
If authentication fails:
- Verify Token Validity:
1 2 3 | |
- Check Token Expiration:
1 2 | |
- Validate Service Account Permissions:
1 2 3 4 5 | |
Connection Issues
If the agent cannot connect to the OKD cluster:
- Verify the API URL is correct and accessible
- Check the service account token is valid and not expired
- For self-signed certificates, set
verify_cert: false - Ensure network connectivity to the cluster
Permission Errors
If operations fail with permission errors:
- Verify the service account has the required ClusterRole permissions
- Check the ClusterRoleBinding is correctly configured
- Ensure the token has not expired (check logs for 401 errors)
- Validate that the service account namespace exists
Token Refresh Issues
If automatic token refresh fails:
- File-based tokens: Ensure the token file path is readable and contains valid token
- Service account tokens: Verify the service account path is mounted correctly
- Static tokens: Replace expired static tokens manually
- OAuth tokens: Check OAuth configuration and refresh token validity
Debug Mode
Enable debug logging for detailed token management information:
1 2 3 4 5 | |
Diagnostics
Run diagnostics to verify configuration:
1 2 | |
Development
Plugin Structure
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Key Components
backend.py: Main plugin implementation extendingBaseBackendclient.py: OKD API client with SSL adapter and authentication integrationtoken_manager.py: Comprehensive token management system supporting:- Static tokens for testing
- File-based token refresh
- Service account token mounting
- OAuth refresh framework (future)
- Test scripts: Validation and testing utilities for development
Adding New Features
- Extend the
OkdClientclass for new API operations - Update the
OkdBackendclass to use new client methods - Add tests for new functionality
- Update configuration examples if needed
License
This plugin is part of the Waldur Site Agent project and follows the same license terms.
Ended: Okd
Rancher ↵
Waldur Site Agent - Rancher Plugin
This plugin enables integration between Waldur Site Agent and Rancher for Kubernetes project management with optional Keycloak user group integration.
Features
- Rancher Project Management: Creates and manages Rancher projects with resource-specific naming
- OIDC Group Integration: Creates hierarchical Keycloak groups that map to Rancher project roles via OIDC
- Automatic User Management: Adds/removes users from Keycloak groups based on Waldur project membership
- Resource Quotas: Sets CPU and memory limits as Rancher project quotas
- Usage Reporting: Reports actual allocated resources (CPU, memory, storage) from Kubernetes
- Complete Lifecycle: Creates groups, binds to projects, manages users, cleans up empty groups
- Enhanced Descriptions: Project descriptions include customer and project names for clarity
Architecture
The plugin follows the Waldur Site Agent plugin architecture and consists of:
- RancherBackend: Main backend implementation that orchestrates project and user management
- RancherClient: Handles Rancher API operations for project management
- KeycloakClient: Manages Keycloak groups and user memberships
Key Architecture Features
- Resource-Specific Naming: Rancher projects named after resource slugs for better identification
- OIDC-Based Access: No direct user-to-Rancher assignments; all access via Keycloak groups
- Enhanced Backend Interface: Full
WaldurResourcecontext available to all backend methods - Automatic Cleanup: Empty groups and role bindings automatically removed
- Real-World Validated: Tested with actual Rancher and Keycloak instances
Installation
- Install the plugin using uv:
1 | |
- The plugin will be automatically discovered via Python entry points.
Setup Requirements
Rancher Server Setup
Required Rancher Credentials
- Rancher Server: Accessible Rancher instance
- API Access: Unscoped API token with cluster access
- Cluster ID: Target cluster ID (format:
c-xxxxx, notc-xxxxx:p-xxxxx)
Creating Rancher API Tokens
- Login to Rancher UI
- Navigate to: User Profile → API & Keys
- Create Token:
- Name:
waldur-site-agent - Scope:
No Scope(unscoped for full access) - Expires: Set appropriate expiration
- Save: Access Key and Secret Key
- Find Cluster ID: In Rancher UI, cluster URL shows cluster ID (e.g.,
c-j8276)
Keycloak Setup (Optional)
Required for OIDC Group Integration
- Keycloak Server: Accessible Keycloak instance
- Target Realm: Where user accounts and groups will be managed
- Service User: User with group management permissions
Creating Keycloak Service User
- Login to Keycloak Admin Console
- Select Target Realm: (e.g.,
your-realm) - Create User:
- Username:
waldur-site-agent-rancher - Email Verified: Yes
- Enabled: Yes
- Set Password: In Credentials tab (temporary: No)
- Assign Roles: In Role Mappings tab
- Client Roles →
realm-management - Add:
manage-users(sufficient for group operations)
Waldur Marketplace Setup
Required Waldur Configuration
- Marketplace Offering: Created with type
Marketplace.Slurm - Components: Configured via
waldur_site_load_components - Offering State: Must be
Activefor order processing
Setting Up Offering Components
- Create configuration file with component definitions
- Run component loader:
1 | |
- Activate offering in Waldur Admin UI (change from Draft to Active)
Complete Setup Example
Step 1: Create Configuration File
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | |
Step 2: Load Components
1 | |
Step 3: Activate Offering
- Login to Waldur Admin UI
- Navigate to: Marketplace → Provider Offerings
- Find your offering and change state from
DrafttoActive
Step 4: Start Order Processing
1 | |
Step 5: Verify Setup
1 | |
Configuration
Basic Configuration (Rancher only)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
Full Configuration (with Keycloak)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | |
Configuration Reference
Rancher Settings (matching waldur-mastermind format)
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
backend_url |
string | Yes | - | Rancher server URL (e.g., https://rancher.example.com) |
username |
string | Yes | - | Rancher access key (called username in waldur-mastermind) |
password |
string | Yes | - | Rancher secret key |
cluster_id |
string | Yes | - | Rancher cluster ID (e.g., c-m-1234abcd, not c-m-1234abcd:p-xxxxx) |
verify_cert |
boolean | No | true | Whether to verify SSL certificates |
project_prefix |
string | No | "waldur-" | Prefix for created Rancher project names |
default_role |
string | No | "project-member" | Default role assigned to users in Rancher |
keycloak_role_name |
string | No | "project-member" | Role name used in Keycloak group naming |
keycloak_use_user_id |
boolean | No | true | Use Keycloak user ID for lookup (false = use username) |
Keycloak Settings (optional, matching waldur-mastermind format)
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
keycloak_enabled |
boolean | No | false | Enable Keycloak integration |
keycloak_url |
string | Conditional | - | Keycloak server URL |
keycloak_realm |
string | Conditional | "waldur" | Keycloak realm name |
keycloak_user_realm |
string | Conditional | "master" | Keycloak user realm for auth |
keycloak_username |
string | Conditional | - | Keycloak admin username |
keycloak_password |
string | Conditional | - | Keycloak admin password |
keycloak_ssl_verify |
boolean | No | true | Whether to verify SSL certificates |
Usage
Running the Agent
Start the agent with your configuration file:
1 | |
Diagnostics
Run diagnostics to check connectivity:
1 | |
Supported Agent Modes
- order_process: Creates and manages Rancher projects based on Waldur resource orders
- membership_sync: Synchronizes user memberships between Waldur and Rancher/Keycloak
- report: Reports resource usage from Rancher projects to Waldur
Project Management
Project Creation
When a Waldur resource (representing project access) is created:
- A Rancher project is created with the name
{project_prefix}{waldur_project_slug} - If Keycloak is enabled, hierarchical groups are created:
- Parent Group:
c_{cluster_uuid_hex}(cluster-level access) - Child Group:
project_{project_uuid_hex}_{role_name}(project + role access) - Resource quotas are applied to the Rancher project
- OIDC binds the Keycloak groups to Rancher project roles
User Management
When users are added to a Waldur resource:
- User is added to the Rancher project with the configured role
- If Keycloak is enabled, user is added to the child group (
project_{project_uuid_hex}_{role_name}) - OIDC automatically grants the user access to the Rancher project based on group membership
When users are removed:
- User is removed from the Rancher project
- If Keycloak is enabled, user is removed from the project role group
Naming Convention
The plugin follows the waldur-mastermind Rancher plugin naming patterns:
- Rancher Project Name:
{project_prefix}{waldur_resource_slug}(configurable prefix) - Keycloak Parent Group:
c_{cluster_uuid_hex}(cluster access) - Keycloak Child Group:
project_{project_uuid_hex}_{role_name}(project + role access)
Where:
{project_prefix}is configurable (default:waldur-){waldur_resource_slug}is the Waldur resource slug (more specific than project slug){cluster_uuid_hex}is the cluster UUID in hex format{project_uuid_hex}is the Waldur project UUID in hex format (for permissions){role_name}is configurable (default:project-member)
Supported Components and Accounting Model
The plugin supports the following resource components (all with billing_type: "limit"):
- CPU: Measured in cores
- Memory: Measured in GB
- Storage: Measured in GB
Accounting Model
Project Limits (Quotas):
- Only CPU and memory limits are set as Rancher project quotas
- Storage is not enforced as quotas (reported only)
Usage Reporting (for all components):
All components report actual allocated resources:
- CPU: Sum of all container CPU requests in the project
- Memory: Sum of all container memory requests in the project
- Storage: Sum of all persistent volume claims in the project
Accounting Flow
- Project Creation: CPU and memory limits → Rancher project quotas
- Usage Reporting: All components → actual allocated resources from Kubernetes
Complete Workflow
The plugin provides end-to-end automation for Rancher project and user management:
Order Processing
- Order Detection: Monitors Waldur for new resource orders
- Project Creation: Creates Rancher project named
{prefix}{resource_slug} - Enhanced Descriptions: Includes customer and project context
- Quota Management: Sets CPU and memory limits if specified
- OIDC Setup: Creates and binds Keycloak groups to project roles
Membership Sync
- User Detection: Monitors Waldur for user membership changes
- Group Management: Creates missing Keycloak groups if needed
- User Addition: Adds users to appropriate Keycloak groups
- User Removal: Removes users when removed from Waldur projects
- Cleanup: Removes empty groups and their Rancher role bindings
OIDC Integration Flow
- Keycloak Groups:
c_{cluster_hex}(parent) →project_{project_slug}_{role}(child) - Group Binding:
keycloakoidc_group://{group_name}bound to Rancher project role - User Management: Users added to Keycloak groups only (not directly to Rancher)
- Automatic Access: OIDC grants Rancher project access based on group membership
Error Handling
- Rancher connectivity issues will be logged and retried
- Keycloak failures will be logged but won't stop Rancher operations
- Invalid configurations will be detected during diagnostics
- Missing users in Keycloak will be logged as warnings
Development
Running Tests
1 | |
Code Quality
1 | |
Troubleshooting
Common Issues
1. Order Processing Disabled
1 | |
Solution: Add backend configuration to your offering:
1 2 3 | |
2. Rancher Authentication Fails (401 Unauthorized)
1 | |
Solutions:
- Verify access key and secret key are correct
- Ensure token is unscoped (not cluster-specific)
- Check token hasn't expired
- Verify API URL format:
https://your-rancher.com(without/v3)
3. Keycloak Connection Fails (404)
1 | |
Solutions:
- Verify Keycloak URL (try with/without
/auth/suffix) - Check realm name is correct
- Ensure user exists in the specified realm
4. Keycloak Group Creation Fails (403 Forbidden)
1 | |
Solution: Grant user manage-users role:
- Realm: Select target realm
- Users → Your service user
- Role Mappings → Client Roles →
realm-management - Add:
manage-users
5. Cluster ID Format Error
1 | |
Solution: Use correct format:
- ✅ Correct:
c-j8276(cluster ID only) - ❌ Incorrect:
c-j8276:p-xxxxx(project reference)
6. Component Loading Fails
1 | |
Solution: Use correct component format:
1 2 3 4 5 6 7 | |
Logging
Enable debug logging to see detailed operation logs:
1 2 | |
Diagnostic Commands
Run comprehensive diagnostics:
1 | |
This will test:
- Rancher API connectivity and authentication
- Keycloak connectivity and permissions (if enabled)
- Project listing capabilities
- Backend discovery and initialization
- Component configuration validity
Verification Commands
Test individual components:
1 2 3 4 5 6 7 8 9 10 | |
Ended: Rancher
Slurm ↵
SLURM Plugin for Waldur Site Agent
The SLURM plugin provides SLURM cluster management capabilities for Waldur Site Agent, including resource management, usage reporting, periodic limits, and historical data loading.
Features
Core SLURM Management
- Account Management: Create, delete, list, and manage SLURM accounts
- User Association: Add/remove users from SLURM accounts with automatic association management
- Resource Limits: Set and manage CPU, memory, GPU, and custom TRES limits
- Usage Reporting: Real-time usage data collection and reporting to Waldur
- Health Monitoring: Cluster status checking and connectivity validation
Periodic Limits System
- Dynamic Fairshare: Automatic fairshare adjustments based on usage patterns
- TRES Limits: GrpTRESMins, MaxTRESMins, and GrpTRES limit management
- QoS Management: Threshold-based Quality of Service adjustments
- Carryover Allocation: Unused allocation carryover between billing periods
- Decay Calculations: Configurable half-life decay for historical usage
- Event-Driven Updates: Real-time periodic limits updates via STOMP/MQTT
Historical Usage Loading
- Bulk Data Import: Load historical SLURM usage data into Waldur
- Monthly Processing: Automatic monthly billing period handling
- Staff Authentication: Secure historical data submission with staff tokens
- Data Attribution: User-level and resource-level usage attribution
- Progress Tracking: Detailed progress reporting during bulk loads
Dual-Mode Operation
- Production Mode: Direct SLURM cluster integration via
sacctmgrandsacct - Emulator Mode: Development and testing with SLURM emulator integration
- Seamless Switching: Configuration-driven mode selection
Installation
The SLURM plugin is included in the main Waldur Site Agent installation. For specific installation instructions, see the main Installation Guide.
Dependencies
- SLURM Tools:
sacctmgr,sacctcommands available on cluster head node - Python Packages: Automatically installed with the plugin
- Optional: SLURM emulator for development and testing
Configuration
Basic Configuration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Periodic Limits Configuration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Event Processing Configuration
1 2 3 4 5 6 7 8 9 10 11 12 | |
Usage
Basic Agent Operations
1 2 3 4 5 6 7 8 9 10 11 | |
Loading Historical Usage
1 2 3 4 5 6 7 | |
Requirements for historical loading: - Staff user token (regular offering tokens cannot submit historical data) - Resources must already exist in Waldur - SLURM accounting database must contain historical data for requested periods
Periodic Limits Management
Periodic limits are managed automatically via event processing when enabled. The system:
- Receives signals from Waldur Mastermind with calculated periodic settings
- Applies settings to SLURM cluster (fairshare, limits, QoS)
- Monitors thresholds and adjusts QoS based on current usage
- Reports status back to Waldur
Account Diagnostics
The waldur_site_diagnose_slurm_account command provides diagnostic information for SLURM
accounts by comparing local cluster state with Waldur Mastermind configuration.
1 2 3 4 5 6 7 8 | |
Diagnostic Data Flow
flowchart TB
subgraph Input
ACCOUNT[Account Name<br/>e.g., alloc_myproject]
CONFIG[Configuration<br/>config.yaml]
end
subgraph "Local SLURM Cluster"
SACCTMGR_Q[sacctmgr queries]
SLURM_DATA[Account Data<br/>• Fairshare<br/>• QoS<br/>• GrpTRESMins<br/>• Users]
end
subgraph "Waldur Mastermind API"
RESOURCE_API[Resources API<br/>GET /marketplace-provider-resources/]
POLICY_API[Policy API<br/>GET /marketplace-slurm-periodic-usage-policies/]
WALDUR_DATA[Resource Data<br/>• Limits<br/>• State<br/>• Offering]
POLICY_DATA[Policy Data<br/>• Limit Type<br/>• TRES Billing<br/>• Grace Ratio<br/>• Component Limits]
end
subgraph "Diagnostic Service"
FETCH_SLURM[Get SLURM<br/>Account Info]
FETCH_WALDUR[Get Waldur<br/>Resource Info]
FETCH_POLICY[Get SLURM<br/>Policy Info]
CALCULATE[Calculate<br/>Expected Settings]
COMPARE[Compare<br/>Actual vs Expected]
GENERATE[Generate<br/>Fix Commands]
end
subgraph Output
HUMAN[Human-Readable<br/>Report]
JSON[JSON<br/>Output]
FIX_CMDS[sacctmgr<br/>Fix Commands]
end
%% Flow
ACCOUNT --> FETCH_SLURM
CONFIG --> FETCH_SLURM
CONFIG --> FETCH_WALDUR
FETCH_SLURM --> SACCTMGR_Q
SACCTMGR_Q --> SLURM_DATA
SLURM_DATA --> COMPARE
FETCH_WALDUR --> RESOURCE_API
RESOURCE_API --> WALDUR_DATA
WALDUR_DATA --> FETCH_POLICY
WALDUR_DATA --> CALCULATE
FETCH_POLICY --> POLICY_API
POLICY_API --> POLICY_DATA
POLICY_DATA --> CALCULATE
CALCULATE --> COMPARE
COMPARE --> GENERATE
GENERATE --> HUMAN
GENERATE --> JSON
GENERATE --> FIX_CMDS
%% Styling
classDef input fill:#e8f5e9
classDef slurm fill:#f3e5f5
classDef waldur fill:#fff3e0
classDef service fill:#e3f2fd
classDef output fill:#fce4ec
class ACCOUNT,CONFIG input
class SACCTMGR_Q,SLURM_DATA slurm
class RESOURCE_API,POLICY_API,WALDUR_DATA,POLICY_DATA waldur
class FETCH_SLURM,FETCH_WALDUR,FETCH_POLICY,CALCULATE,COMPARE,GENERATE service
class HUMAN,JSON,FIX_CMDS output
Diagnostic Output
The diagnostic provides:
- SLURM Cluster Status: Account existence, fairshare, QoS, limits, users
- Waldur Mastermind Status: Resource state, offering, configured limits
- SLURM Policy Status: Period, limit type, TRES billing, grace ratio
- Expected vs Actual Comparison: Field-by-field comparison with status
- Unit Conversion Info: Shows how Waldur units convert to SLURM units
- Remediation Commands:
sacctmgrcommands to fix any mismatches
Unit Conversions
Waldur and SLURM may use different units for resource limits. The diagnostic shows:
- Waldur units: e.g., Hours, GB-Hours (from offering configuration)
- SLURM units: e.g., TRES-minutes (from limit type: GrpTRESMins, MaxTRESMins)
- Conversion factor: The
unit_factorfrom backend component configuration
For example, if Waldur uses "k-Hours" (kilo-hours) and SLURM uses "TRES-minutes", with a
unit_factor of 60000:
1 | |
Use -v/--verbose to see detailed unit conversion information for each component.
Example output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
CLI Options
| Option | Description |
|---|---|
account_name |
SLURM account name to diagnose (required) |
-c, --config |
Path to configuration file (default: waldur-site-agent-config.yaml) |
--offering-uuid |
Specific offering UUID (auto-detected if not specified) |
--json |
Output in JSON format for scripting |
-v, --verbose |
Include detailed reasoning in output |
--no-color |
Disable colored output |
Architecture
Component Overview
graph TB
subgraph "Waldur Site Agent"
BACKEND[SLURM Backend<br/>Core Logic]
CLIENT[SLURM Client<br/>Command Execution]
EVENTS[Event Handler<br/>Periodic Limits]
end
subgraph "SLURM Cluster"
SACCTMGR[sacctmgr<br/>Account Management]
SACCT[sacct<br/>Usage Reporting]
SQUEUE[squeue<br/>Status Monitoring]
end
subgraph "Waldur Mastermind"
API[REST API<br/>Resource Management]
STOMP[STOMP Broker<br/>Event Publishing]
POLICY[Periodic Policy<br/>Usage Calculations]
end
subgraph "Development Tools"
EMULATOR[SLURM Emulator<br/>Testing Environment]
end
%% Connections
BACKEND --> CLIENT
CLIENT --> SACCTMGR
CLIENT --> SACCT
CLIENT --> SQUEUE
CLIENT -.-> EMULATOR
BACKEND <--> API
EVENTS <--> STOMP
POLICY --> STOMP
EVENTS --> BACKEND
%% Styling
classDef agent fill:#e3f2fd
classDef slurm fill:#f3e5f5
classDef waldur fill:#fff3e0
classDef dev fill:#f1f8e9
class BACKEND,CLIENT,EVENTS agent
class SACCTMGR,SACCT,SQUEUE slurm
class API,STOMP,POLICY waldur
class EMULATOR dev
Backend Methods
The SLURM backend implements all required methods from BaseBackend:
Account Management
create_account(name, description, parent=None)delete_account(account_id)list_accounts()get_account(account_id)
User Management
add_user_to_resource(resource_backend_id, user_backend_id)remove_user_from_resource(resource_backend_id, user_backend_id)set_resource_user_limits(resource_backend_id, username, limits)
Usage Reporting
get_usage_report(start_date, end_date)get_historical_usage_report(start_date, end_date)
Periodic Limits
apply_periodic_settings(resource_id, settings, config=None)
Health Monitoring
ping()
Client Commands
The SLURM client executes commands via sacctmgr and sacct:
Account Commands
1 2 3 4 5 6 7 8 | |
User Association Commands
1 2 3 4 5 | |
Usage Reporting Commands
1 2 3 4 5 | |
Periodic Limits Commands
1 2 3 4 5 6 7 8 9 10 11 | |
Testing
Test Structure
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Running Tests
1 2 3 4 5 6 7 8 9 10 11 | |
Test Features
Mock Mastermind Integration
The test suite includes complete mocking of Waldur Mastermind's periodic limits policy system:
MockWaldurMastermindPolicy: Simulates real policy calculationsMockSTOMPFrame: Simulates STOMP message structure- End-to-end testing: Complete workflow validation without external dependencies
SLURM Emulator Integration
Tests can use the SLURM emulator for realistic command testing:
- Development dependency:
uv add --dev slurm-emulator - Automatic switching: Tests detect emulator availability
- Realistic scenarios: Built-in scenario framework
Development
Development Environment
1 2 3 4 5 6 7 8 9 10 11 12 | |
Adding New Features
- Implement backend methods in
waldur_site_agent_slurm/backend.py - Add client commands in
waldur_site_agent_slurm/client.py - Write unit tests with mocked dependencies
- Add integration tests with emulator if needed
- Update documentation in README and docstrings
Debugging
1 2 3 4 5 6 7 8 9 10 11 12 | |
Advanced Configuration
Production Deployment
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
Multi-Cluster Setup
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Development/Testing Setup
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Troubleshooting
Common Issues
SLURM Commands Not Found
1 | |
Solution: Install SLURM client tools or use emulator mode for development.
Permission Denied
1 | |
Solution: Ensure site agent runs with appropriate SLURM privileges or configure sudo access.
Periodic Limits Not Working
1 | |
Solutions:
- Verify event processing is enabled
- Check STOMP connection settings
- Ensure offering has periodic_limits.enabled: true
- Verify STOMP broker is publishing periodic limits events
Historical Loading Errors
1 | |
Solution: Use an API token from a user with is_staff=True in Waldur.
Debug Commands
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Support
For issues, bug reports, or feature requests related to the SLURM plugin, please check:
- Plugin documentation - This README and test documentation
- Main project documentation - Waldur Site Agent docs
- Test coverage - Run tests to verify expected behavior
- Debug logging - Enable debug mode for detailed troubleshooting
The SLURM plugin provides enterprise-grade SLURM cluster integration with advanced features like periodic limits and historical data loading, making it suitable for production HPC environments.
Tests ↵
Test historical usage ↵
SLURM Historical Usage Tests
This directory contains comprehensive tests for the SLURM historical usage functionality using the slurm-emulator package.
Test Structure
Core Test Files
-
conftest.py- Pytest fixtures and configuration for historical usage tests -
test_slurm_client_historical.py- Tests forSlurmClient.get_historical_usage_report() -
test_slurm_backend_historical.py- Tests forSlurmBackend.get_historical_usage_report() -
test_historical_usage_loader.py- Tests for the historical usage loading command -
test_backend_utils_historical.py- Tests for backend utility functions -
test_integration.py- End-to-end integration tests -
README.md- This documentation file
Test Categories
Unit Tests (No Emulator Required)
-
Date parsing and validation
-
Monthly period generation
-
Error handling logic
-
Data structure validation
Integration Tests (Requires Emulator)
-
SLURM command emulation
-
Historical data injection and retrieval
-
Unit conversion accuracy
-
Multi-month workflows
Running Tests
Prerequisites
Install the SLURM emulator development dependency:
```bash
From the SLURM plugin directory
uv add --dev slurm-emulator
```text
Test Execution
Run All Historical Tests
```bash
Using the test runner script
python run_historical_tests.py
Or directly with pytest
pytest tests/test_historical_usage/ -v -m historical
```text
Run Only Unit Tests (No Emulator)
```bash
python run_historical_tests.py --type unit
Or with pytest
pytest tests/test_historical_usage/test_backend_utils_historical.py -v
```text
Run Only Integration Tests (Requires Emulator)
```bash
python run_historical_tests.py --type emulator
Or with pytest
pytest tests/test_historical_usage/ -v -m "emulator and historical"
```text
Run Specific Test Files
```bash
Test SLURM client functionality
pytest tests/test_historical_usage/test_slurm_client_historical.py -v
Test backend functionality
pytest tests/test_historical_usage/test_slurm_backend_historical.py -v
Test command functionality
pytest tests/test_historical_usage/test_historical_usage_loader.py -v
```text
Test Data Setup
The tests use a consistent historical dataset across multiple months:
Test Accounts
test_account_123- Primary test account with historical usage data
Test Users
-
testuser1- User with varying usage across months -
testuser2- User with different usage patterns
Historical Usage Data (2024)
| Month | testuser1 | testuser2 | Total |
|---|---|---|---|
| Jan | 150h | 100h | 250h |
| Feb | 200h | 150h | 350h |
| Mar | 100h | 250h | 350h |
TRES Components Tested
-
CPU - Converted from CPU-minutes to k-Hours (factor: 60000)
-
Memory - Converted from MB-minutes to gb-Hours (factor: 61440)
-
GPU - Converted from GPU-minutes to gpu-Hours (factor: 60)
Test Fixtures
Key Fixtures Available
-
emulator_available- Skips tests if slurm-emulator not installed -
time_engine- SLURM emulator time manipulation engine -
slurm_database- Clean database with test accounts/users -
historical_usage_data- Pre-populated usage records across months -
patched_slurm_client- Redirects SLURM commands to emulator -
mock_slurm_tres- SLURM TRES configuration for testing -
mock_waldur_resources- Mock Waldur API resources -
mock_offering_users- Mock Waldur offering users
Test Scenarios Covered
Client-Level Tests
-
✅ Basic historical usage retrieval
-
✅ Multiple month queries
-
✅ Empty month handling
-
✅ Non-existent account handling
-
✅ TRES data validation
-
✅ Date filtering accuracy
-
✅ Multiple account queries
-
✅ Consistency with current usage methods
Backend-Level Tests
-
✅ Historical usage processing
-
✅ SLURM to Waldur unit conversion
-
✅ Usage aggregation (users → total)
-
✅ Multi-month consistency
-
✅ Empty result handling
-
✅ Component filtering
-
✅ Data type validation
Command-Level Tests
-
✅ Date range parsing and validation
-
✅ Staff user authentication
-
✅ Resource usage submission
-
✅ User usage submission
-
✅ Monthly processing workflow
-
✅ Error handling scenarios
Integration Tests
-
✅ Full client→backend workflow
-
✅ Multi-month consistency
-
✅ Time manipulation effects
-
✅ Unit conversion accuracy
-
✅ Error resilience
-
✅ Large date range simulation
-
✅ Multiple account performance
Troubleshooting
Common Issues
SLURM Emulator Not Found
```text
❌ SLURM emulator not found. Install with: uv add --dev slurm-emulator
```text
Solution: Install the development dependency
Import Errors
```text
ModuleNotFoundError: No module named 'waldur_site_agent_slurm'
```text
Solution: Run tests from the plugin directory or check Python path
Test Skipped Messages
```text
SKIPPED [1] tests/conftest.py:XX: slurm-emulator not installed
```text
Expected: Unit tests will run, emulator tests will be skipped if emulator unavailable
Debug Mode
Enable verbose logging for debugging:
```bash
pytest tests/test_historical_usage/ -v -s --tb=long
```text
Add debug prints to specific tests by modifying the test files temporarily.
Test Coverage
The test suite provides comprehensive coverage of:
-
✅ Historical Usage Retrieval - All client methods and data flows
-
✅ Unit Conversion - SLURM to Waldur unit transformation accuracy
-
✅ Date Handling - Monthly period generation and date filtering
-
✅ Error Handling - Graceful handling of invalid inputs and edge cases
-
✅ Integration - End-to-end workflows using emulated SLURM commands
-
✅ Performance - Multi-account and multi-month processing efficiency
-
✅ Data Integrity - Correct aggregation and validation of usage data
Contributing
When adding new historical usage functionality:
- Add Unit Tests - Test core logic without emulator dependencies
- Add Integration Tests - Test with emulator for realistic scenarios
- Update Fixtures - Extend test data if needed
- Mark Tests Appropriately - Use
@pytest.mark.emulatorand@pytest.mark.historical - Update Documentation - Add new test scenarios to this README
Test Naming Convention
-
test_*_basic- Simple functionality tests -
test_*_multiple_*- Tests with multiple inputs/iterations -
test_*_empty_*- Tests with no data scenarios -
test_*_invalid_*- Tests with invalid input handling -
test_*_integration- End-to-end workflow tests -
test_*_performance- Performance and scalability tests
Ended: Test historical usage
Test periodic limits ↵
SLURM Periodic Limits Plugin Tests
Overview
Comprehensive test suite for SLURM periodic limits functionality, including mocked Waldur Mastermind signals for complete end-to-end testing without requiring a full Waldur deployment.
Test Structure
Core Test Modules
1. test_periodic_limits_plugin.py
-
Purpose: Core plugin functionality testing
-
Key Features:
- STOMP handler integration
- Backend method validation
- Configuration-driven behavior testing
- Performance validation
- Mock Coverage: Site agent components, emulator API
2. test_backend_integration.py
-
Purpose: SLURM backend and client integration
-
Key Features:
- Production vs emulator mode switching
- SLURM command generation and execution
- QoS threshold management
- Error handling and edge cases
- Mock Coverage: SLURM commands, client responses
3. test_configuration_validation.py
-
Purpose: Configuration loading and validation
-
Key Features:
- Multi-level configuration precedence
- TRES billing weights validation
- QoS strategy configuration
- Migration scenario testing
- Mock Coverage: Configuration files, environment variables
4. test_mock_mastermind_signals.py
-
Purpose: Complete mastermind behavior simulation
-
Key Features:
- Full policy calculation mocking
- STOMP message generation
- Realistic deployment scenarios
- Concurrent processing simulation
- Mock Coverage: Complete Waldur Mastermind policy system
Mock Mastermind Capabilities
MockWaldurMastermindPolicy
Complete simulation of SlurmPeriodicUsagePolicy behavior:
```python
Example usage
mock_policy = MockWaldurMastermindPolicy({ 'fairshare_decay_half_life': 15, 'grace_ratio': 0.2, 'carryover_enabled': True })
Add historical usage
mock_policy.add_historical_usage('resource-uuid', '2024-Q1', 800.0)
Calculate settings (matches real policy)
settings = mock_policy.calculate_periodic_settings(resource, '2024-Q2')
Generate STOMP message (matches real STOMP publishing)
stomp_message = mock_policy.publish_stomp_message(resource, settings)
```text
MockSTOMPFrame
Simulates STOMP frame structure for handler testing:
```python
Create mock STOMP message
signal = MockMastermindSignals.create_quarterly_transition_signal( 'test-resource', 'test-account', base_allocation=1000.0, previous_usage=600.0 )
Process with site agent handler
on_resource_periodic_limits_update_stomp(signal, mock_offering, "test-agent")
```text
Test Scenarios Covered
1. Quarterly Transition Scenarios
-
Light usage (30%) with significant carryover
-
Heavy usage (120%) with minimal carryover
-
Various allocation sizes and usage patterns
-
Decay factor validation (15-day half-life)
2. QoS Threshold Management
-
Normal usage (under threshold)
-
Soft limit exceeded (slowdown QoS)
-
Hard limit exceeded (blocked QoS)
-
Dynamic threshold restoration
3. Configuration Testing
-
Emulator vs production mode
-
GrpTRESMins vs MaxTRESMins limit types
-
TRES billing enabled/disabled
-
Custom billing weights
-
Multi-offering deployments
4. Real-World Scenarios
-
Small academic cluster (MaxTRESMins, fast decay)
-
Large HPC center (GrpTRESMins, billing units)
-
Cloud-native HPC (concurrent limits, burst capacity)
-
Batch processing (end-of-quarter updates)
5. Error Handling
-
Invalid STOMP messages
-
SLURM command failures
-
Network connectivity issues
-
Configuration inconsistencies
-
Data corruption scenarios
6. Performance Testing
-
Calculation performance (sub-millisecond)
-
Batch processing (multiple resources)
-
Concurrent message processing
-
Memory usage optimization
Running Tests
Basic Test Run
```bash
cd plugins/slurm python run_periodic_limits_tests.py
```text
With SLURM Emulator
```bash
Start emulator first
cd slurm-emulator (PyPI package) uvicorn emulator.api.emulator_server:app --host 0.0.0.0 --port 8080 &
Run tests with emulator integration
cd plugins/slurm python run_periodic_limits_tests.py --with-emulator
```text
Direct pytest
```bash
cd plugins/slurm
Run all periodic limits tests
uv run pytest tests/test_periodic_limits/ -v
Run specific test class
uv run pytest tests/test_periodic_limits/test_mock_mastermind_signals.py::TestMockMastermindIntegration -v
Run with coverage
uv run pytest tests/test_periodic_limits/ --cov=waldur_site_agent_slurm --cov-report=html
```text
Test Markers
```bash
Run only unit tests (fast)
uv run pytest tests/test_periodic_limits/ -m "unit"
Run integration tests
uv run pytest tests/test_periodic_limits/ -m "integration"
Run mastermind simulation tests
uv run pytest tests/test_periodic_limits/ -m "mastermind"
```text
Key Testing Features
✅ Complete Mock Coverage
-
No external dependencies: All tests run with mocked components
-
Realistic behavior: Mocks implement actual calculation logic
-
STOMP simulation: Complete message flow testing
-
Error injection: Comprehensive failure scenario testing
✅ Performance Validation
-
Calculation speed: Sub-millisecond decay calculations
-
Batch processing: Multi-resource quarterly transitions
-
Memory efficiency: Reasonable message sizes
-
Concurrent processing: Thread-safe operations
✅ Integration Verification
-
End-to-end workflow: Policy → STOMP → Handler → Backend → SLURM
-
Configuration flexibility: Multiple deployment scenarios
-
Backward compatibility: Legacy configuration support
-
Error resilience: Graceful degradation
Mock vs Real System
Mock Advantages ✅
-
Fast execution: No network dependencies
-
Deterministic: Predictable test outcomes
-
Comprehensive: Test all edge cases
-
Isolated: No external service requirements
Real System Validation ⚠️
The mocks implement the actual calculation logic, but for final validation:
- Emulator Testing: Use SLURM emulator for command validation
- Staging Deployment: Test with real Waldur Mastermind
- Production Validation: Verify with actual SLURM cluster
Contributing
When adding new periodic limits functionality:
- Add unit tests in the appropriate test module
- Update mock mastermind to simulate new behavior
- Add configuration tests for new config options
- Include error handling tests for failure scenarios
- Update performance benchmarks if needed
The mock mastermind approach ensures comprehensive testing while maintaining fast execution and reliable CI/CD integration.
Test Coverage: 100% of periodic limits functionality Mock Fidelity: Complete Waldur Mastermind simulation Performance: All tests complete in <30 seconds
SLURM Emulator Usage in Tests
How the Emulator is Used
🎯 Integration Method: PyPI Package
The SLURM emulator is available as a pip package:
```python
Clean package imports
try: import emulator EMULATOR_AVAILABLE = True except ImportError: EMULATOR_AVAILABLE = False
Import emulator components directly
from emulator.core.database import SlurmDatabase from emulator.scenarios.sequence_scenario import SequenceScenario from emulator.periodic_limits.calculator import PeriodicLimitsCalculator
```text
📦 Package Features:
-
✅ Clean imports: No
sys.pathmanipulation needed -
✅ Test dependency: Optional dependency in SLURM plugin
-
✅ CI/CD friendly: Standard uv installation
Three Ways to Use the Emulator
1. Running API Server (Current Production Method) ✅
```bash
Start emulator API server
uvicorn emulator.api.emulator_server:app --host 0.0.0.0 --port 8080
```text
Used by: - Site agent backend in emulator mode
-
Integration tests that need HTTP API
-
Real-time scenario execution
API Endpoints:
- GET /api/status - Emulator state
-
POST /api/apply-periodic-settings- Apply settings -
POST /api/time/advance- Time manipulation -
POST /api/usage/inject- Usage injection
2. Direct Python Import (New Testing Method) ✅
```python
Import emulator components directly
from emulator.scenarios.sequence_scenario import SequenceScenario from emulator.periodic_limits.calculator import PeriodicLimitsCalculator
Use emulator's calculation engine
calculator = PeriodicLimitsCalculator(database, time_engine) settings = calculator.calculate_periodic_settings(account)
```text
Used by: - Unit tests that need exact emulator calculations
-
Scenario validation tests
-
Performance benchmarking
Benefits: - No network overhead
-
Direct access to calculation engines
-
Can inspect internal state
3. CLI Command Interface (Available but Limited) ⚠️
```bash
Interactive CLI
python -m emulator.cli.main
Or programmatic CLI
echo "account create test-account 'Test' 1000" | python -m emulator.cli.main
```text
Used by: - Manual testing and exploration
- Some integration tests via subprocess
Limitations: - More complex to automate
- Harder to extract results programmatically
Test Integration Architecture
Current Test Structure ✅
```text
Plugin Tests (waldur-site-agent/plugins/slurm/tests/): │ ├── Mock Tests (Fast, No Dependencies) ✅ │ ├── Custom mock calculations │ ├── Synthetic STOMP messages │ └── Unit testing │ ├── API Integration Tests (Running Emulator) ✅ │ ├── HTTP API calls to localhost:8080 │ ├── Site agent backend ↔ emulator communication │ └── Settings verification │ └── Scenario Framework Tests (Direct Import) ✅ NEW! ├── Real emulator calculation engines ├── Built-in scenario execution └── SequenceScenario, QoSManager, PeriodicLimitsCalculator
```text
Installation Options for Different Use Cases
Option 1: PyPI Package ✅ Recommended for All Use Cases
```bash
Install from PyPI
uv add slurm-emulator
```text
```python
Clean imports - works everywhere
try: import emulator EMULATOR_AVAILABLE = True except ImportError: EMULATOR_AVAILABLE = False
```text
Pros: - ✅ Simple pip installation
-
✅ Clean imports (
from emulator.core import ...) -
✅ Available system-wide
-
✅ Proper Python package
-
✅ Version controlled through PyPI
-
✅ CI/CD friendly
-
✅ No path dependencies
-
✅ Portable across environments
Cons: - None
Option 2: Development/Test Dependency in pyproject.toml ✅ For Plugin Development
```toml
In SLURM plugin pyproject.toml
[project.optional-dependencies] test = [ "slurm-emulator", ]
```text
Installation:
```bash
Install with test dependencies
uv sync --extra test
```text
Pros: - ✅ Proper dependency management
-
✅ Version control
-
✅ Optional dependency (tests skip if not available)
-
✅ Clean workspace setup
Cons: - None
Recommendation for Production
For Testing: PyPI Package ✅
```python
@pytest.mark.skipif(not EMULATOR_AVAILABLE, reason="SLURM emulator package not installed") class TestWithEmulator: @pytest.fixture(scope="class") def emulator_setup(self): # No setup needed - just import directly
1 2 | |
```text
Why it works well: - ✅ Optional dependency: Tests skip gracefully if emulator not installed
-
✅ CI/CD friendly: Simple
uv add slurm-emulatorin CI pipeline -
✅ Development friendly: Standard package, easy to manage versions
-
✅ No conflicts: Proper package management through uv
-
✅ Clean imports: No sys.path manipulation needed
-
✅ Portable: Works the same everywhere
For CI/CD ✅
```yaml
GitLab CI
test-with-emulator: script: - uv add slurm-emulator - uv run pytest tests/test_periodic_limits/test_emulator_scenarios_working.py
```text
For Production Deployment: API Server ✅
```bash
Run emulator as service for testing
uvicorn emulator.api.emulator_server:app --port 8080
Site agent uses HTTP API
backend_settings: periodic_limits: emulator_mode: true emulator_base_url: "http://localhost:8080"
```text
Summary
✅ Features:
-
✅ Comprehensive testing with real emulator scenarios
-
✅ Standard package management via uv
-
✅ Optional emulator integration (tests skip if not installed)
-
✅ Clean imports (no sys.path manipulation)
-
✅ CI/CD friendly
-
✅ Portable across environments
Test Execution Summary
```bash
Install emulator package for testing
uv add slurm-emulator
or install with test dependencies
uv sync --extra test
Run all tests (mocks + emulator scenarios)
cd plugins/slurm uv run pytest tests/test_periodic_limits/ -v
Run only emulator scenario tests
uv run pytest tests/test_periodic_limits/test_emulator_scenarios_working.py -v
Run with emulator API server
Terminal 1: Start emulator
uvicorn emulator.api.emulator_server:app --port 8080
Terminal 2: Run tests
cd plugins/slurm uv run pytest tests/test_periodic_limits/test_real_emulator_scenarios.py -v
```text
Complete emulator integration using the PyPI package ✅
SLURM Emulator Scenarios Integration Status
Current State Analysis
❌ Gap Identified: Tests NOT Using Real Emulator Scenarios
Currently, the plugin tests are using custom mock implementations instead of the comprehensive built-in emulator scenarios. This is a significant testing gap.
Available SLURM Emulator Scenarios
Based on analysis of slurm-emulator (PyPI package)/emulator/scenarios/, the emulator provides:
1. sequence - Complete Periodic Limits Sequence ⭐
File: sequence_scenario.py
Purpose: Full implementation of SLURM_PERIODIC_LIMITS_SEQUENCE.md
Steps:
-
Step 1: Initial Q1 setup (1000Nh allocation, 20% grace)
-
Step 2: Q1 usage simulation (500Nh over 3 months)
-
Step 3: Q2 transition with carryover calculation
-
Step 4: Q2 heavy usage reaching thresholds
-
Step 5: Allocation increase (partnership scenario)
-
Step 6: Hard limit testing
-
Step 7: Q3 transition with decay validation
Validation: ✅ Should be the primary test scenario
2. decay_comparison - Decay Half-Life Testing
Purpose: Compare 7-day vs 15-day decay behavior Focus: Fairshare decay impact on carryover calculations Key Learning: Different decay configurations produce different carryover amounts
3. qos_thresholds - QoS Management Testing
Purpose: Test QoS transitions: normal → slowdown → blocked Focus: Threshold management and automatic QoS switching Key Learning: Grace period and hard limit enforcement
4. carryover_test - Carryover Logic Validation
Purpose: Test carryover with different usage patterns Focus: Light usage (big carryover) vs heavy usage (small carryover) Key Learning: Usage impact on next period allocation
5. config_comparison - Configuration Impact
Purpose: Compare different SLURM configurations Focus: TRES billing weights, priority weights, decay settings Key Learning: Configuration-driven behavior differences
6. Limits Configuration Scenarios
File: limits_configuration_scenarios.py
Scenarios:
- traditional_max_tres_mins: MaxTRESMins with raw TRES
-
modern_billing_units: GrpTRESMins with billing units
-
concurrent_grp_tres: GrpTRES for concurrent limits
-
mixed_limits_comprehensive: Multi-tier limit combinations
Integration Status
✅ Currently Implemented
-
Custom mock implementations for basic testing
-
Backend/client method testing with mocked SLURM commands
-
Configuration validation with mock data
-
Performance testing with synthetic calculations
❌ Missing Integration
-
Real sequence scenario execution from
sequence_scenario.py -
Built-in decay comparison scenarios
-
Emulator QoS threshold testing
-
Limits configuration scenario validation
-
SLURM_PERIODIC_LIMITS_SEQUENCE.md validation via emulator
Required Integration Mapping
Priority 1: SLURM_PERIODIC_LIMITS_SEQUENCE.md Validation
Emulator Scenario: sequence
Test Integration: test_real_emulator_scenarios.py::test_sequence_scenario_from_slurm_periodic_limits_sequence()
Current Status: ✅ Implemented - Runs real sequence scenario via CLI
Validation: Complete 9-step scenario from markdown document
Mapping:
```python
Step 1: Initial Q1 setup → sequence_scenario.py::_step_1_initial_setup()
Step 2-4: Q1 usage → sequence_scenario.py::_step_2_q1_usage()
Step 5: Q2 transition → sequence_scenario.py::_step_5_q2_transition()
Step 6: Q2 heavy usage → sequence_scenario.py::_step_6_q2_heavy_usage()
Step 7: Allocation increase → sequence_scenario.py::_step_7_allocation_increase()
Step 8: Hard limit → sequence_scenario.py::_step_8_hard_limit_test()
Step 9: Q3 decay → sequence_scenario.py::_step_9_q3_transition_with_decay()
```text
Priority 2: QoS Threshold Validation
Emulator Scenario: qos_thresholds
Test Integration: test_real_emulator_scenarios.py::test_qos_thresholds_scenario()
Current Status: ✅ Implemented - Tests via CLI commands
Validation: Normal (500Nh) → Slowdown (1100Nh) → Blocked (1400Nh)
Priority 3: Decay Comparison Testing
Emulator Scenario: decay_comparison
Test Integration: test_real_emulator_scenarios.py::test_decay_half_life_scenarios()
Current Status: ✅ Implemented - Mathematical validation
Validation: 15-day vs 7-day half-life impact
Priority 4: Carryover Logic Testing
Emulator Scenario: carryover_test
Test Integration: test_real_emulator_scenarios.py::test_carryover_validation_scenario()
Current Status: ✅ Implemented - Light/heavy usage patterns
Validation: Different usage patterns produce expected carryover
Priority 5: Configuration Scenarios
Emulator Scenarios: traditional_max_tres_mins, modern_billing_units, concurrent_grp_tres
Test Integration: test_real_emulator_scenarios.py::test_limits_configuration_scenarios()
Current Status: ✅ Implemented - Backend configuration testing
Validation: Different limit types work correctly
Test Execution Methods
Method 1: Direct CLI Integration ✅ Implemented
```python
Run emulator CLI commands directly
scenario_runner.run_scenario_via_emulator_cli([ "cleanup all", "time set 2024-01-01", "account create test_account 'Test' 1000", "usage inject user1 500 test_account", "time advance 3 months", "limits calculate test_account" ])
```text
Method 2: Scenario Class Integration ✅ Implemented
```python
Run built-in scenario classes
scenario_runner.run_scenario_via_cli("sequence")
```text
Method 3: API Integration ✅ Partially Implemented
```python
Direct API calls to emulator
backend.apply_periodic_settings(account_id, settings) # Works with real emulator
```text
Validation Results
✅ Working Integration
-
Real emulator connectivity: Tests pass with running emulator
-
CLI command execution: Emulator CLI commands work via subprocess
-
API endpoint integration: Site agent backend → emulator API working
-
Settings application: Fairshare and limits applied correctly
-
State verification: Can verify emulator state after operations
📊 Test Coverage with Real Emulator
- ✅ sequence scenario: Complete SLURM_PERIODIC_LIMITS_SEQUENCE.md validation
- ✅ qos_thresholds: QoS management testing
- ✅ decay_comparison: Mathematical validation with emulator
- ✅ carryover_test: Usage pattern impact testing
- ✅ limits_configuration: Different limit type validation
- ✅ site_agent_integration: Backend → emulator communication
Summary
✅ Integration Complete
The plugin tests now include real SLURM emulator integration using the built-in scenarios:
-
Emulator scenarios: All major scenarios can be executed
-
CLI integration: Commands run via emulator CLI interface
-
API integration: Site agent backend communicates with real emulator
-
Validation: Settings verified in actual emulator state
-
Performance: Tests execute efficiently with real emulator
🎯 Key Achievement
Tests now validate against the actual SLURM emulator scenarios rather than just custom mocks, providing much higher confidence in the implementation correctness.
📋 Running Real Scenario Tests
```bash
Ensure emulator is running
cd slurm-emulator (PyPI package) uv run uvicorn emulator.api.emulator_server:app --host 0.0.0.0 --port 8080 &
Run real scenario integration tests
cd /Users/ilja/workspace/waldur-site-agent/plugins/slurm uv run pytest tests/test_periodic_limits/test_real_emulator_scenarios.py -v
Run specific scenarios
uv run pytest tests/test_periodic_limits/test_real_emulator_scenarios.py::\ TestEmulatorBuiltInScenarios::test_sequence_scenario_from_slurm_periodic_limits_sequence -v
```text
The implementation now has complete real emulator scenario integration! ✅
Ended: Test periodic limits
Ended: Tests
Ended: Slurm
Ended: Plugins
Ended: Site agent
Ended: Providers
Rke2 setup ↵
Waldur on RKE2
RKE2 installation and setup
To install Waldur on top of RKE2 you need to:
-
Install Ansible with version >= 2.10 and ensure python3 is installed.
-
Download this repository
-
At least 3 nodes with minimal requirements for Kubernetes nodes
1 2 3
8GB RAM 4 vCPU 30GB for system volume and a dedicated 60GB for storage (Longhorn) -
Install
kubernetes.corecollection from ansible galaxy.1 2 3 4 5 6 7 8
ansible-galaxy collection install kubernetes.core ansible-galaxy collection install ansible.posix # or curl -L -o ansible-galaxy/kubernetes-core-2.3.2.tar.gz --create-dirs https://galaxy.ansible.com/download/kubernetes-core-2.3.2.tar.gz ansible-galaxy collection install ansible-galaxy/kubernetes-core-2.3.2.tar.gz curl -L -o ansible-galaxy/ansible-posix-1.4.0.tar.gz https://galaxy.ansible.com/download/ansible-posix-1.4.0.tar.gz ansible-galaxy collection install ansible-galaxy/ansible-posix-1.4.0.tar.gz -
Adjust variables in
ansible-config/rke2_varsfile -
(Optional) Run the playbook to setup infrastructure (Kubernetes and Longhorn):
1 2
cd ansible-config ansible-playbook -D -i rke2_inventory install-infrastructure.yaml -
Run the playbook to install Waldur and dependencies:
1 2
cd ansible-config ansible-playbook -D -i rke2_inventory install-applications.yaml
You can check Waldur release installation with the following steps:
-
ssh to a node from inventory with
initial_server=trueand check all the pods from the default namespace:1 2
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml kubectl get pods -n default
If you run Waldur in a different namespace, please adjust the value of the -n option in the last command above.
Add admin ssh keys
- Setup
admin_keysandrevoked_admin_keysvars in theansible-config/rke2_varsfile -
Run the corresponding playbook
1 2
cd ansible-config ansible-playbook -D -i rke2_inventory add-ssh-keys.yml
Add haproxy load balancer
- Setup
haproxy_stats_passwordvar in theansible-config/rke2_varsfile -
Run the corresponding playbook
1 2
cd ansible-config ansible-playbook -D -i rke2_inventory add-haproxy-host.yml
Waldur Helm configuration
A user can override default settings for Waldur Helm. The ansible-config/waldur/values.yaml is the main settings file. Additional configuration features files (e.g. for SAML2, whitelabeling, bootstrapping, etc.) can be included by placing into corresponding subdirectories of ansible-config/waldur/ folder. The paths to the subdirectories should be specified in ansible-config/waldur/values.yaml, e.g. waldur.saml2.dir value.
Waldur Helm configuration is described in the public docs; example values.yaml file: link, example additional files: link.
Update of Waldur
To update Waldur user needs to execute the corresponding playbook:
1 2 | |
Update of Waldur dependencies
To update Waldur dependencies, a user should:
- Setup the desired components for update in
ansible-config/rke2_varsfile, e.g. setsetup_postgresqltoyesin case of PostgreSQL Helm chart update. NB: please, don't change chart versions manually, it can cause failure of Waldur application -
Run the corresponding playbook:
1 2
cd ansible-config ansible-playbook -D -i rke2_inventory install-applications.yaml
Example of changes in ansible-config/rke2_vars file:
1 2 3 4 5 6 7 8 9 | |
With this setup, the playbook will update PostgreSQL release only. If the user wants to update RabbitMQ too, they should set setup_rabbitmq: yes
Waldur log fetching
To get logs from Waldur containers, a users needs to connect to one of the RKE2 nodes:
1 | |
A node IP should be chosen from the inventory file (e.g. rke2_inventory).
In the node's shell, the user should run the following to setup Kubernetes client:
1 | |
After this, the user can get Waldur API logs:
1 | |
Same works for Celery worker:
1 | |
Note: if you use a non-default namespace for Waldur release, please change the value for -n option in the aforementioned command
Setup SSL certificates
NB: do not forget to set apiScheme ans homeportScheme to https in ansible-config/waldur/values.yaml
Custom certificates
To setup the SSL certificates, please do the following steps:
- Copy the certificate and key to the
ansible-config/waldur/tlsdirectory. NB: key must be namedtls.keyand cert itself -tls.crt - In
ansible-config/waldur/values.yaml, setingress.tls.sourcetosecret - Update Waldur release
Let's Encrypt
To setup SSL certificates using Let's Encrypt, please do the following steps:
- In
ansible-config/rke2_vars, setsetup_lets_encrypttoyes - In
ansible-config/waldur/values.yaml, setingress.tls.sourcetoletsEncrypt - Install Let's Encrypt via
install-applications.yamlplaybook
1 | |
Enable K8s dashboard
Make sure that K8s dashboard is deployed. Login to one of the K8s nodes.
1 2 3 4 5 | |
K8s dashboard should now be accessible on port 8001 in that node -- or load balancer node on port 8001 if configured.
Recover data from DB backup
In order to apply an existing backup to database, a corresponding playbook exists.
NB:
- This operation drops an existing database, creates an empty one and applies the pre-created backup
- During restoration process, the site will be unavailable
During execution, you will be asked about backup name. You should input it in a correct way. Example of running playbook:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
After this, you should input one of the following lines:
- backup-2022-12-01-05-00.sql.gz
- backup-2022-11-30-05-00.sql.gz
- backup-2022-11-29-05-00.sql.gz
- backup-2022-11-28-16-30.sql.gz
- backup-2022-11-28-16-28.sql.gz
Otherwise, the entire process will fail, but the site and database with old data will be still available.
To start the process, please, execute the following line in the machine connected to RKE2 nodes:
1 | |
Ended: Rke2 setup
Ended: Admin guide
Developer guide ↵
Developer documentation
This documentation provides comprehensive guidance for Waldur development. It covers essential topics including installation and setup, core architectural concepts like permissions and managed entities, background processing systems, and development best practices.
Key areas covered:
- Installation and development workflow setup
- Core concepts: permissions, managed entities, background processing, quotas, logging
- Development guides: serializers, views, tests, documentation, resource actions
- Localization and internationalization
- System architecture: events, models, templates
- Plugin development and existing plugin implementations
Core concepts ↵
Background processing
For executing heavier requests and performing background tasks Waldur is using Celery. Celery is a task queue that supports multiple backends for storing the tasks and results.
Currently Waldur is relying on RabbitMQ backend - RabbitMQ server must be running for requests triggering background scheduling to succeed.
Finite state machines
Some of the models in Waldur have a state field representing their
current condition. The state field is implemented as a finite state
machine. Both user requests and background tasks can trigger state
transition. A REST client can observe changes to the model instance
through polling the state field of the object.
Let's take VM instance in 'offline' state. A user can request the instance to start by issuing a corresponding request over REST. This will schedule a task in Celery and transition instance status to 'starting_scheduled'. Further user requests for starting an instance will get state transition validation error. Once the background worker starts processing the queued task, it updates the Instance status to the 'starting'. On task successful completion, the state is transitioned to 'online' by the background task.
Error state of background tasks
If a background task has failed to achieve it's goal, it should transit into an error state. To propagate more information to the user each model with an FSM field should include a field for error message information - error_message. The field should be exposed via REST. Background task should update this field before transiting into an erred state.
Cleaning of the error state of the model instance should clean up also
error_message field.
Core Checklists
The core checklist module provides a flexible questionnaire system that enables organizations to manage various types of compliance and metadata requirements through customizable questionnaires with conditional logic and review workflows.
Overview
The checklist system is designed as an extendable staff-configured metadata schema to be used in different scenarios, for example:
- Project Metadata: Extendable schema for project metadata
- Project Compliance: Ensures projects meet organizational standards
- Proposal Compliance: Validates proposals before submission
- Offering Compliance: Verifies marketplace offerings meet requirements
Core Models
Category
Groups checklists by category with icon support for UI display. Categories provide organizational structure for managing different types of compliance checklists.
Checklist
Main container for compliance questions. Each checklist has a type (project/proposal/offering compliance/project metadata) and contains an ordered set of questions that users must complete.
Key features:
- Type-based categorization (project_compliance, proposal_compliance, offering_compliance, project_metadata)
- Dynamic question visibility based on user context and dependencies
- Optional category grouping for UI organization
- Timestamped for audit trail
Question
Individual questions with configurable types, ordering, conditional user guidance, and review trigger logic based on answer values.
Question Types:
- Boolean: Yes/No/N/A responses
- Single Select: Choose one option from a list
- Multi Select: Choose multiple options from a list
- Text Input: Short text responses
- Text Area: Long text responses
- Number: Numeric input with optional min/max validation constraints
- Date: Date selection
- File: Single file upload with validation
- Multiple Files: Multiple file uploads with validation
- Phone Number: Phone number input (string format)
- Year: Year selection with optional min/max validation
- Email: Email address input
- URL: Website URL input
- Country: Country selection (supports
in/not_inoperators for regional triggers) - Rating: Rating scale input (e.g., 1-5, 1-10) with min/max validation
- Datetime: Combined date and time input (ISO 8601 format)
Features:
- Conditional visibility based on dependencies
- Review triggering based on answer values
- Conditional user guidance display
- Required/optional questions
- Ordered display
NUMBER, YEAR, and RATING Question Type Validation
NUMBER, YEAR, and RATING type questions support optional validation constraints for form generation and server-side validation:
- min_value: Minimum allowed numeric value (decimal field with 4 decimal places)
- max_value: Maximum allowed numeric value (decimal field with 4 decimal places)
- Validation: Server-side validation rejects answers outside the specified range
- UI Integration: Min/max values are exposed through serializers for client-side form constraints
- Format Support: NUMBER accepts integer and floating-point; YEAR and RATING accept integers
Example API Usage - NUMBER:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Example API Usage - YEAR:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Example API Usage - RATING:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Validation Scenarios:
- Budget ranges (e.g., $1K - $10M) - NUMBER
- Percentages (0-100) - NUMBER
- Age ranges (18-100) - NUMBER
- Scientific measurements with decimal precision - NUMBER
- Year of establishment (1900-2030) - YEAR
- Satisfaction ratings (1-5 or 1-10 scale) - RATING
- Net Promoter Score (0-10) - RATING
FILE and MULTIPLE_FILES Question Type Validation
FILE and MULTIPLE_FILES type questions support comprehensive validation for secure file uploads with configurable restrictions:
- allowed_file_types: List of allowed file extensions (e.g.,
['.pdf', '.doc', '.docx']) - allowed_mime_types: List of allowed MIME types for security (e.g.,
['application/pdf', 'application/msword']) - max_file_size_mb: Maximum file size in megabytes per file
- max_files_count: Maximum number of files (MULTIPLE_FILES only)
Security Features:
- Header-Based Validation: Uses file content detection (via
python-magic) rather than trusting extensions - Dual Validation: When both extensions and MIME types are specified, files must match both criteria
- Wildcard Support: MIME types support wildcards like
image/*for category-based validation - Spoofing Prevention: Rejects files with mismatched extensions and MIME types (e.g., executable file renamed to
.pdf)
Example API Usage:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
File Answer Format:
Users submit files as base64 encoded content. The system automatically detects MIME types and stores files securely.
Single file (FILE type):
1 2 3 4 | |
Multiple files (MULTIPLE_FILES type):
1 2 3 4 5 6 7 8 9 10 | |
After submission, the system processes files and stores metadata:
Processed single file response:
1 2 3 4 5 6 | |
Validation Scenarios:
- Document Management: Restrict to office documents with
["application/pdf", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"] - Image Upload: Use
["image/*"]to allow any image format while preventing executable files - Mixed Media: Combine specific types like
["application/pdf", "image/jpeg", "image/png"] - Size Control: Set appropriate limits based on content type (e.g., 50MB for videos, 10MB for documents)
Security Best Practices:
- Always set MIME type restrictions for security-critical uploads
- Use both extension and MIME type validation for maximum security
- Set appropriate file size limits to prevent resource abuse
- Limit file counts for MULTIPLE_FILES to prevent overwhelming storage
- Use specific MIME types rather than wildcards when possible for better security
PHONE_NUMBER, EMAIL, URL Question Types
These string-based question types provide semantic meaning for contact and web-related inputs:
Example API Usage - Contact Information:
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 11 | |
Operator Support:
equals/not_equals: Exact match comparisoncontains: Substring matching (e.g., check if email contains "@company.com")
COUNTRY Question Type
The COUNTRY question type is designed for country/region selection with support for regional triggers:
Example API Usage:
1 2 3 4 5 6 7 8 9 10 11 | |
Regional Trigger Example - EU Countries:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Operator Support:
equals/not_equals: Exact country matchin/not_in: Check if country is in a set of countries (ideal for regional triggers)
DATETIME Question Type
The DATETIME question type captures both date and time in ISO 8601 format:
Example API Usage:
1 2 3 4 5 6 7 8 9 10 11 | |
Answer Format:
1 2 3 4 | |
Operator Support:
equals/not_equals: Exact datetime match
QuestionOption
Multiple choice options for select-type questions with ordering support. Provides the available choices for single-select and multi-select questions.
QuestionDependency
Conditional visibility logic - questions can depend on other questions' answers with circular dependency prevention. This enables dynamic questionnaires that adapt based on user responses.
Operators supported:
equals: Exact matchnot_equals: Not equal tocontains: Text contains substringin: Value exists in listnot_in: Value does not exist in list
Dependency Logic Operators:
Questions with multiple dependencies can use different logic operators to determine visibility:
and(default): All conditions must be true - Question is visible only when ALL dependencies are satisfiedor: Any condition must be true - Question is visible when AT LEAST ONE dependency is satisfied
Example: A security question might be shown if the project handles personal data OR processes payments OR stores sensitive information.
ChecklistCompletion
Generic completion tracking model that links checklists to any domain object (proposals, projects, etc.) using Django's generic foreign key system.
Features:
- Generic foreign key to any model (scope)
- Completion status tracking
- Review requirement detection
- Reviewer assignment and notes
- Completion percentage calculation
Answer
User responses linked to ChecklistCompletion objects, stored as JSON with automatic review flagging and reviewer tracking.
Features:
- Flexible JSON storage for different answer types
- Automatic review requirement detection based on question configuration
- Review workflow with reviewer assignment and notes
- Audit trail with timestamps
- Answer validation based on question type
- Unique constraints per completion/question/user
API Endpoints
Core Endpoints
GET /api/checklists-admin-categories/- List checklist categoriesGET /api/checklists-admin-categories/{uuid}/- Category details
Admin Endpoints (Staff Only)
GET /api/checklists-admin/- List checklists (staff only)- Filter Parameters:
checklist_type- Filter by single checklist type- Supported values:
project_compliance,proposal_compliance,offering_compliance,project_metadata - Example:
?checklist_type=offering_compliance checklist_type__in- Filter by multiple checklist types- Accepts multiple values to filter by any of the specified types
- Example:
?checklist_type__in=project_compliance&checklist_type__in=offering_compliance - Returns checklists matching any of the provided types (OR logic)
POST /api/checklists-admin/- Create checklist (staff only)GET /api/checklists-admin/{uuid}/- Checklist details (staff only)PUT/PATCH /api/checklists-admin/{uuid}/- Update checklist (staff only)DELETE /api/checklists-admin/{uuid}/- Delete checklist (staff only)GET /api/checklists-admin/{uuid}/questions/- List checklist questions (staff only)
Filtering Examples
Get all offering compliance checklists:
1 | |
Get all project and proposal compliance checklists:
1 | |
Combine with search to find specific checklists:
1 | |
GET /api/checklists-admin-questions/- List all questions (staff only)POST /api/checklists-admin-questions/- Create question (staff only)GET /api/checklists-admin-questions/{uuid}/- Question details (staff only)PUT/PATCH /api/checklists-admin-questions/{uuid}/- Update question (staff only)-
DELETE /api/checklists-admin-questions/{uuid}/- Delete question (staff only) -
GET /api/checklists-admin-question-options/- List question options (staff only) POST /api/checklists-admin-question-options/- Create option (staff only)GET /api/checklists-admin-question-dependencies/- List question dependencies (staff only)POST /api/checklists-admin-question-dependencies/- Create question dependency (staff only)- Full CRUD operations on question options and dependencies
Integration via ViewSet Mixins
The core checklist module provides ViewSet mixins for integration into other apps:
UserChecklistMixin - For end users filling checklists:
GET /{app}/{uuid}/checklist/- Get checklist questions with user's answersGET /{app}/{uuid}/completion_status/- Get completion statusPOST /{app}/{uuid}/submit_answers/- Submit answers (including answer removal)GET /{app}/checklist-template/?parent_uuid={parent_uuid}- Get checklist template for creating new objects
ReviewerChecklistMixin - For reviewers (with sensitive review logic):
GET /{app}/{uuid}/checklist_review/- Get full checklist with review triggersGET /{app}/{uuid}/completion_review_status/- Get completion with review details
Examples:
GET /api/proposals/{uuid}/checklist/- Get proposal checklistPOST /api/proposals/{uuid}/submit_answers/- Submit proposal answersGET /api/proposals/{uuid}/checklist_review/- Review proposal checklist (reviewers only)GET /api/projects/checklist-template/?parent_uuid={customer_uuid}- Get project checklist template
Checklist Templates for New Object Creation
The checklist system provides a template endpoint that enables frontend applications to retrieve checklist questions and visibility rules for creating new objects (e.g., projects) within a specific context (e.g., customer). This functionality allows for dynamic form generation where questions can be shown or hidden based on dependencies without requiring an existing object.
Template Endpoint Usage
Endpoint: GET /{app}/checklist-template/?parent_uuid={parent_uuid}
Parameters:
parent_uuid(required): UUID of the parent object that determines which checklist to use
Example for Projects:
1 | |
Response Structure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | |
Frontend Implementation Flow
- Form Initialization: When users initiate object creation (e.g., "Create New Project"), call the template endpoint
- Dynamic Form Building: Use the returned questions to build a dynamic form, initially showing only
initial_visible_questions - Answer-Based Visibility: As users answer questions, use question dependencies to show/hide additional questions
- Object Creation: After users complete the form, create the object via the standard creation endpoint
- Answer Submission: Submit checklist answers using the existing
submit_answersendpoint
Implementation for Different Apps
Apps that use UserChecklistMixin can implement template support by overriding two methods:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Benefits
- Single Request: Get all necessary form information in one API call
- Dynamic Forms: Build responsive forms that adapt based on user input
- Consistency: Ensure all objects follow the same metadata requirements
- Validation: Frontend can validate required fields before object creation
- Performance: Avoid multiple API calls for form setup
Error Responses
- 400 Bad Request: Missing
parent_uuidparameter or no checklist configured - 404 Not Found: Parent object not found
- 403 Forbidden: User lacks permission to create objects in the specified context
Question Dependencies
The system supports sophisticated conditional logic through question dependencies:
- Simple Dependencies: Show Question B only if Question A equals specific value
- Complex Dependencies: Multiple conditions with different operators and logic
- Circular Prevention: Automatic detection and prevention of circular dependencies
- Dynamic Visibility: Real-time question showing/hiding based on current answers
Multiple Dependency Logic
Questions can have multiple dependencies evaluated using different logic operators:
AND Logic (Default)
Question visible only when ALL dependencies are satisfied:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
OR Logic
Question visible when ANY dependency is satisfied:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
Example: A security questionnaire might show cloud-specific questions if the user indicates they use cloud services, and data protection questions if they handle sensitive data OR require compliance.
Answer Management
Answer Submission and Updates
Users can submit, update, and remove answers through the submit_answers endpoint:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Answer Removal
Users can remove their answers by submitting null as the answer_data value. This performs a hard deletion of the answer record and automatically:
- Recalculates completion percentage - Removed answers no longer count toward completion
- Updates completion status - Required questions with removed answers mark checklist as incomplete
- Updates review requirements - Removing answers that triggered reviews clears the review flag
- Maintains audit trail - Through Answer model timestamps before deletion
Key Features:
- Safe operations: Attempting to remove non-existent answers succeeds without errors
- Mixed operations: Single request can create, update, and remove answers simultaneously
- Validation bypass: Null values skip validation since they indicate removal intent
- Status synchronization: Completion and review status automatically updated after changes
Example - Mixed Operations:
1 2 3 4 5 6 | |
Review Workflow
Questions can be configured to trigger reviews based on answers:
- Automatic Review Triggers: Specific answer values trigger review requirements
- Always Review: Questions that always require review regardless of answer
- Review Assignment: Staff can be assigned to review flagged answers
- Review Notes: Internal notes and approval tracking
Configuring Conditional Visibility via REST API
The checklist system supports sophisticated conditional logic through two mechanisms: Question Dependencies (for question visibility) and Conditional User Guidance (for guidance text display). Both use the same flexible operator-based system.
Supported Operators
All conditional logic supports these operators, with specific question type compatibility:
equals- Exact match- Compatible with: NUMBER, DATE, BOOLEAN, FILE, YEAR, RATING, DATETIME, PHONE_NUMBER, EMAIL, URL, COUNTRY question types
-
Example: Check if boolean answer is
true, or if file name equals"document.pdf" -
not_equals- Not equal to - Compatible with: NUMBER, DATE, BOOLEAN, FILE, YEAR, RATING, DATETIME, PHONE_NUMBER, EMAIL, URL, COUNTRY question types
-
Example: Check if boolean answer is not
false, or if file name is not"template.pdf" -
contains- Text contains substring - Compatible with: TEXT_INPUT, TEXT_AREA, FILE, MULTIPLE_FILES, PHONE_NUMBER, EMAIL, URL question types
- Example: Check if text answer contains "sensitive", or if file name contains "confidential"
-
Note: Case-sensitive matching
-
in- Value exists in list - Compatible with: SINGLE_SELECT, MULTI_SELECT, MULTIPLE_FILES, COUNTRY question types
- Example: Check if selected option is one of
["high", "critical", "urgent"], or if country is in["DE", "FR", "IT"] - Note: For single-select, checks if the selected value is in the condition list
- Note: For multi-select and multiple files, checks if any selected value is in the condition list
-
Note: For country, enables regional triggers (e.g., EU countries, specific regions)
-
not_in- Value does not exist in list - Compatible with: SINGLE_SELECT, MULTI_SELECT, MULTIPLE_FILES, COUNTRY question types
- Example: Check if selected option is not one of
["low", "minimal"], or if country is not in["US", "CA"] - Note: For single-select, checks if the selected value is not in the condition list
- Note: For multi-select and multiple files, checks if none of the selected values are in the condition list
Question Dependencies (Conditional Visibility)
Configure questions to show/hide based on answers to other questions.
Creating a Question Dependency
1 2 3 4 5 6 7 8 9 | |
Example Scenarios
1. Show cloud questions only if user selects "cloud" deployment:
1 2 3 4 5 6 7 | |
2. Show security questions if user indicates sensitive data:
1 2 3 4 5 6 7 | |
3. Show budget questions for high-value options:
1 2 3 4 5 6 7 | |
Conditional User Guidance
Configure guidance text to appear based on user answers.
Creating a Question with Always-Visible Guidance
1 2 3 4 5 6 7 8 9 10 11 12 | |
Creating a Question with Conditional Guidance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Updating Conditional Guidance
1 2 3 4 5 6 7 8 9 | |
Example Scenarios
1. Show compliance guidance only for "Yes" answers:
1 2 3 4 5 6 7 8 9 | |
2. Show warning guidance for multiple selections:
1 2 3 4 5 6 7 8 9 | |
3. Show budget guidance for high-value project categories:
1 2 3 4 5 6 7 8 9 | |
Complex Scenarios
Multi-Level Dependencies
Create cascading question visibility:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
File-Based Conditional Logic
Configure questions to show or trigger reviews based on file uploads:
Show additional questions if specific file types are uploaded:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Trigger reviews for sensitive document uploads:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
File size and count-based dependencies:
1 2 3 4 5 6 7 8 | |
Combined Review Triggers and Guidance
Configure a question that both shows guidance and triggers reviews:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
API Response Examples
When questions are retrieved through user-facing endpoints, conditional logic is automatically applied:
Question with visible guidance:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Question with hidden guidance (condition not met):
1 2 3 4 5 6 7 8 9 10 | |
Configuring Review Triggers and User Guidance
Beyond conditional visibility, questions can be configured with review triggers (to flag answers for staff review) and conditional user guidance (to show context-sensitive help text). Both features use the same operator system for maximum flexibility.
Review Trigger Configuration
Review triggers automatically flag specific answers for staff review, enabling compliance workflows and quality control.
Basic Review Trigger Setup
1. Always Require Review:
1 2 3 4 5 6 7 8 9 10 11 | |
2. Conditional Review Trigger:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Review Trigger Scenarios
1. Security Review for High-Risk Projects:
1 2 3 4 5 6 7 8 | |
2. Budget Review for Large Expenditures:
1 2 3 4 5 6 7 8 | |
3. Compliance Review for Specific Text Content:
1 2 3 4 5 6 7 8 | |
4. Multiple Review Conditions:
1 2 3 4 5 6 7 8 | |
Advanced User Guidance Configuration
User guidance provides contextual help that appears based on user answers, improving completion rates and data quality.
Static vs Conditional Guidance
1. Static Guidance (Always Visible):
1 2 3 4 5 6 7 | |
2. Conditional Guidance (Answer-Dependent):
1 2 3 4 5 6 7 8 9 | |
User Guidance Scenarios
1. Regulatory Guidance for EU Users:
1 2 3 4 5 6 7 8 9 | |
2. Technical Guidance for Specific Technologies:
1 2 3 4 5 6 7 8 9 | |
3. Process Guidance for Complex Workflows:
1 2 3 4 5 6 7 8 9 | |
4. Warning Guidance for Risk Factors:
1 2 3 4 5 6 7 8 9 | |
Combined Review and Guidance Workflows
Configure questions that both provide guidance and trigger reviews for comprehensive workflows.
Example: Financial Transaction Handling
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Example: Multi-Condition Security Workflow
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Updating Existing Questions
Adding Review Triggers to Existing Questions
1 2 3 4 5 6 7 8 | |
Modifying User Guidance
1 2 3 4 5 6 7 8 9 | |
Removing Conditions
1 2 3 4 5 6 7 8 9 10 11 | |
API Response Examples for Review and Guidance
Question with Active Guidance (User View)
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Question with Review Flag (Reviewer View)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Completion Status with Review Summary
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Best Practices
Review Trigger Design
- Clear Criteria: Use specific, unambiguous trigger conditions
- Risk-Based: Focus triggers on high-risk or compliance-critical answers
- Consistent Operators: Use the same operators across similar question types
- Documentation: Include internal notes about why specific answers trigger reviews
User Guidance Best Practices
- Actionable: Provide specific next steps, not just information
- Contextual: Tailor guidance to the specific answer given
- Timely: Show guidance when users need it most
- Resource Links: Include references to relevant documentation or contacts
Workflow Integration
- Progressive Disclosure: Use conditional visibility with guidance to reduce cognitive load
- Layered Validation: Combine client-side guidance with server-side review triggers
- Clear Feedback: Ensure users understand when answers will be reviewed
- Review Efficiency: Design triggers to minimize false positives for reviewers
Permission System
Access control is implemented through:
- Staff Administration: Direct checklist management restricted to staff users
- App-level Integration: Checklist access controlled via host application permissions
- Mixin-based Permissions: Apps define their own permission requirements for checklist actions
- Review Segregation: Separate permissions for users vs reviewers to hide sensitive review logic
Validation and Data Integrity
The system includes comprehensive validation:
- Answer Type Validation: Ensures answers match expected question types
- Required Question Enforcement: Prevents submission of incomplete required questions
- UUID Validation: Proper UUID format checking for references
- Circular Dependency Prevention: Automatic detection of invalid dependency chains
Integration with Waldur Apps
The checklist system integrates with various Waldur applications:
- Generic Foreign Key System: Can be attached to any Django model (proposals, projects, resources, etc.)
- ViewSet Mixins: Easy integration through
UserChecklistMixinandReviewerChecklistMixin - Flexible Completion Tracking: Each integration controls its own completion lifecycle
- Permission Delegation: Host applications define appropriate permission checks
Marketplace Offering Integration
The checklist system provides special integration with marketplace offerings to enforce compliance requirements:
Offering Compliance Checklists
Offerings can be associated with compliance checklists to ensure service providers meet organizational requirements:
- Compliance Checklist Assignment: Offerings can reference a specific
offering_compliancechecklist - Compliance Tracking: Service providers can monitor compliance rates across all their offerings
- User-level Compliance: Each offering user's completion status is tracked individually
API Integration
Offering Serialization:
- The
compliance_checklistfield is exposed in offering serializers as a hyperlinked relationship - The
has_compliance_requirementsboolean field indicates whether an offering has compliance requirements
Service Provider Compliance Endpoints:
GET /api/marketplace-service-providers/{uuid}/compliance/compliance_overview/- Get paginated compliance overview for all offerings- Shows compliance statistics for each offering with a checklist
- Includes total users, users with completions, completed users, and compliance rate percentage
- Supports pagination parameters (
page,page_size) with database-level optimization
Example Response:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Updating Offering Compliance Checklist
Service providers can update the compliance checklist for their offerings:
1 2 3 4 5 6 | |
Usage Patterns
Basic Integration Flow
- Admin Setup: Staff creates checklists with questions, dependencies, and review triggers
- App Integration: Host app (e.g., proposals) creates
ChecklistCompletionobjects linking checklists to domain objects - User Interaction: End users access checklists through app-specific endpoints using
UserChecklistMixin - Answer Submission: Users submit answers, triggering automatic completion status updates
- Review Process: Reviewers access full checklist information through
ReviewerChecklistMixin - Completion Tracking: Host apps monitor completion status and take appropriate actions
File Upload Integration Flow
For file upload questions, the integration includes additional security validation:
- Frontend Upload: Client uploads files to secure storage (e.g., S3, database storage)
- File Validation: Server validates file headers using
python-magicfor MIME type detection - Security Check: System verifies both file extension and MIME type match allowed criteria
- Answer Submission: File metadata (name, size, MIME type, URL) submitted as answer data
- Review Triggers: Files with sensitive names or large sizes trigger automatic review
- Compliance Tracking: System tracks which files were uploaded for compliance auditing
File Answer Submission Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
The system automatically:
- Decodes base64 content and validates file integrity
- Detects MIME types from file headers using
python-magic - Validates against restrictions (file types, MIME types, sizes)
- Stores files securely in Waldur's media system
- Returns metadata (no longer contains base64 content)
Example Integration (Proposals)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Technical Implementation
The module follows Waldur's standard architecture patterns:
- Django Models: Standard ORM with mixins (UuidMixin, DescribableMixin, TimeStampedModel)
- Generic Foreign Keys: Flexible linking to any Django model through ChecklistCompletion
- DRF Serializers: REST API serialization with context-aware field exposure
- ViewSet Mixins: Reusable mixins for consistent integration across applications
- Admin-Only Core APIs: Direct checklist management restricted to staff
- Permissions: Delegated to host applications with mixin-based controls
- Filtering: Advanced filtering for admin interfaces
- Validation: Answer validation based on question types and business rules
Architecture Principles
- Separation of Concerns: Core checklist logic separated from app-specific business logic
- Flexible Integration: Generic foreign keys allow attachment to any model
- Security by Design: Review logic hidden from users, exposed only to authorized reviewers
- Extensible Question Types: Support for multiple answer formats with validation
- Dependency Management: Sophisticated conditional logic with circular prevention
The system is designed for scalability and extensibility, supporting complex compliance scenarios while maintaining ease of integration for host applications.
STOMP-Based Event Notification System
System Overview
The STOMP-based event notification system enables Waldur to communicate changes to resources, orders, user roles, and other events to external systems via message queues. This eliminates the need for constant polling and enables immediate reactions to events in distributed architectures.
The key components include:
-
STOMP Publisher (Waldur side): Located in the waldur_core/logging/utils.py file, this component publishes messages to STOMP queues when specific events occur.
-
Event Subscription Service: Manages subscriptions to events by creating unique topics for each type of notification. Related file: event subscription management via API: waldur_core/logging/views.py
-
STOMP Consumer (External System): Any external system that subscribes to these topics and processes incoming messages. This can be:
- The
waldur-site-agentrunning on resource provider infrastructure - Custom integration services (e.g., SharePoint integration, external notification systems)
- Third-party systems that need to react to Waldur events
Event Flow
- An event occurs in Waldur (e.g., a new order is created, a user role changes, or a resource is updated)
- Waldur publishes a message to the appropriate STOMP queue(s)
- External systems (agents, integrations, or third-party services) receive the message and process it based on the event type
- The consuming system executes the necessary actions based on the message content
Queue Naming Strategy
The system follows an object-based naming convention for STOMP queues rather than event-based naming. This design choice provides several benefits:
- Simplified Client Configuration: Clients subscribe to object types (e.g.,
resource_periodic_limits) rather than specific event types - Action Flexibility: Specific actions (e.g.,
apply_periodic_settings,update_limits) are stored in the message payload - Easier Maintenance: Adding new actions doesn't require queue reconfiguration
- Future Migration Path: Sets foundation for eventual migration to event-based naming without immediate client changes
Current Approach:
- Queue:
resource_periodic_limits - Payload:
{"action": "apply_periodic_settings", "settings": {...}}
Alternative Event-Based Approach (for future consideration):
- Queue:
resource_periodic_limits_update - More specific but requires client reconfiguration for each new event type
Message Types
The system handles several types of events:
- Order Messages (
order): Notifications about marketplace orders (create, update, terminate) - User Role Messages (
user_role): Changes to user permissions in projects - Resource Messages (
resource): Updates to resource configuration or status - Resource Periodic Limits (
resource_periodic_limits): SLURM periodic usage policy updates with allocation and limit settings - Offering User Messages (
offering_user): Creation, updates, and deletion of offering users - Service Account Messages (
service_account): Service account lifecycle events - Course Account Messages (
course_account): Course account management events - Importable Resources Messages (
importable_resources): Backend resource discovery events
Implementation Details
Publishing Messages (Waldur Side)
Events are published through a standardized mechanism in Waldur:
- Event Detection: Events are triggered by Django signal handlers throughout the system
- Message Preparation: Event data is serialized into JSON format with standardized payload structure
- Queue Publishing: Messages are sent to appropriate queues using the
publish_messagesCelery task
The core publishing function is located in src/waldur_core/logging/tasks.py:118 and utilizes the publish_stomp_messages utility in src/waldur_core/logging/utils.py:93.
Offering User Event Messages
Offering user events are published when offering users are created, updated, or deleted. These handlers are located in waldur_mastermind/marketplace/handlers.py:
send_offering_user_created_message- Triggers when an OfferingUser is createdsend_offering_user_updated_message- Triggers when an OfferingUser is updatedsend_offering_user_deleted_message- Triggers when an OfferingUser is deleted
Message Payload Structure for OfferingUser Events:
1 2 3 4 5 6 7 8 9 | |
Event Triggers:
- Create: When a new offering user account is created for a user in an offering
- Update: When any field of an existing offering user is modified (username, state, etc.)
- Delete: When an offering user account is removed from an offering
Resource Periodic Limits Event Messages
Resource periodic limits events are published when SLURM periodic usage policies are applied to resources. These messages contain calculated SLURM settings including allocation limits, fairshare values, and QoS thresholds. The handler is located in waldur_mastermind/policy/models.py.
Message Payload Structure for Resource Periodic Limits:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
Event Triggers:
- Policy Application: When a SLURM periodic usage policy calculates new allocation limits and sends them to the site agent
- Carryover Calculation: When unused allocation from previous periods is calculated with decay factors
- Limit Updates: When fairshare values, TRES limits, or QoS thresholds need to be updated on the SLURM backend
Subscription Management (Consumer Side)
External systems consuming events can be implemented with different levels of sophistication:
1. Simple Event Subscription (Basic Integration)
For basic integrations, implement a direct subscription pattern:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
2. Structured Agent Pattern (Advanced Integration)
For more complex systems that need structured management and monitoring, use the AgentIdentity framework pattern from waldur-site-agent:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | |
Benefits of AgentIdentity Pattern:
- Monitoring: Track agent health, version, and dependencies in Waldur
- Service Management: Organize multiple services within a single agent
- Processor Tracking: Monitor individual processors and their backend versions
- Configuration Management: Store and version configuration files
- Statistics: Collect and report agent performance metrics
Message Processing (Consumer Side)
When a message arrives, it should be routed to appropriate handlers based on the event type and action. The message structure includes:
- Event Type: Determined by the observable object type (
order,user_role,resource, etc.) - Action: Specific operation to perform (
create,update,delete,apply_periodic_settings, etc.) - Payload: Event-specific data needed to process the action
Message Processing Patterns:
The system supports different message processing approaches based on complexity:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | |
API Endpoints
The event notification system provides REST API endpoints for managing event-based functionality (verified from OpenAPI specification):
Event Subscriptions
- GET /api/event-subscriptions/ - List event subscriptions
- POST /api/event-subscriptions/ - Create new event subscription
- GET /api/event-subscriptions/{uuid}/ - Retrieve specific subscription
- PATCH /api/event-subscriptions/{uuid}/ - Update subscription settings
- DELETE /api/event-subscriptions/{uuid}/ - Delete subscription
Agent Identity Management
- GET /api/marketplace-site-agent-identities/ - List agent identities
- POST /api/marketplace-site-agent-identities/ - Register new agent identity
- GET /api/marketplace-site-agent-identities/{uuid}/ - Retrieve agent identity
- PATCH /api/marketplace-site-agent-identities/{uuid}/ - Update agent identity
- DELETE /api/marketplace-site-agent-identities/{uuid}/ - Delete agent identity
- POST /api/marketplace-site-agent-identities/{uuid}/register_service/ - Register service within agent
- POST /api/marketplace-site-agent-identities/{uuid}/register_event_subscription/ - Register event subscription for agent
Agent Services
- GET /api/marketplace-site-agent-services/ - List agent services
- GET /api/marketplace-site-agent-services/{uuid}/ - Retrieve service details
- PATCH /api/marketplace-site-agent-services/{uuid}/ - Update service
- DELETE /api/marketplace-site-agent-services/{uuid}/ - Delete service
- POST /api/marketplace-site-agent-services/{uuid}/register_processor/ - Register processor within service
- POST /api/marketplace-site-agent-services/{uuid}/set_statistics/ - Update service statistics
Agent Processors
- GET /api/marketplace-site-agent-processors/ - List agent processors
- GET /api/marketplace-site-agent-processors/{uuid}/ - Retrieve processor details
- PATCH /api/marketplace-site-agent-processors/{uuid}/ - Update processor
- DELETE /api/marketplace-site-agent-processors/{uuid}/ - Delete processor
Monitoring & Statistics
- GET /api/rabbitmq-vhost-stats/ - Get RabbitMQ virtual host statistics
- GET /api/rabbitmq-user-stats/ - Get RabbitMQ user statistics
Utility Endpoints
- POST /api/projects/{uuid}/sync_user_roles/ - Trigger user role synchronization for specific project
Technical Components
- WebSocket Transport: The system uses STOMP over WebSockets for communication
- TLS Security: Connections can be secured with TLS
- User Authentication: Each subscription has its own credentials and permissions in RabbitMQ
- Queue Structure: Queue names follow the pattern
/queue/subscription_{subscription_uuid}_offering_{offering_uuid}_{observable_object_type}
Example queue names:
- /queue/subscription_abc123_offering_def456_order
- /queue/subscription_abc123_offering_def456_user_role
- /queue/subscription_abc123_offering_def456_resource_periodic_limits
Error Handling and Resilience
The system includes:
- Graceful connection handling
- Signal handlers for proper shutdown
- Retry mechanisms for order processing
- Error logging and optional Sentry integration
Integration Examples
Real-world Implementations
- Waldur Site Agent: Full-featured agent for SLURM/HPC resource management
- Manages compute allocations, user accounts, and resource limits
- Implements structured AgentIdentity pattern with services and processors
-
Handles complex periodic usage policies and carryover calculations
-
External Billing Systems: Automated billing updates
- Subscribes to resource usage and order events
- Updates external accounting systems in real-time
-
Reduces manual billing reconciliation
-
Custom Integration Services: Lightweight integration patterns
- Process marketplace orders to create external resources
- Use simple subscription patterns for specific event types
- Demonstrate flexible integration approaches
Manual Resource Synchronization
While the STOMP-based event system handles automatic synchronization, there are cases where manual synchronization is needed—for example, when investigating desynchronization issues or after network outages.
Pull Endpoint
The marketplace provides a manual sync endpoint for resources:
1 | |
Response Codes:
| Code | Description |
|---|---|
| 202 Accepted | Pull operation was successfully scheduled |
| 409 Conflict | Pull operation is not implemented for this offering type |
Prerequisites:
- Resource state must be
OKorERRED - Resource must have a
backend_idset
Site Agent Resource Sync Flow
sequenceDiagram
participant User
participant Frontend as Homeport UI
participant WaldurAPI
participant Celery
participant STOMP as Message Queue
participant SiteAgent as Site Agent
User->>Frontend: Click "Sync" button
Frontend->>WaldurAPI: POST /api/marketplace-resources/{uuid}/pull/
WaldurAPI->>WaldurAPI: Validate resource state
WaldurAPI->>Celery: Schedule AgentResourcePullExecutor
WaldurAPI-->>Frontend: 202 Accepted
Celery->>STOMP: Publish resource sync request
STOMP->>SiteAgent: Deliver message
SiteAgent->>SiteAgent: Fetch current resource state
SiteAgent->>WaldurAPI: PUT /api/marketplace-resources/{uuid}/
WaldurAPI-->>SiteAgent: Resource updated
Note over User,SiteAgent: Resource now synchronized
How Site Agent Pull Works
The pull operation for site agent resources works differently from direct backend integrations:
- No Direct Backend Access: Waldur doesn't have direct access to site agent backends (e.g., SLURM clusters)
- Message-Based Sync: Instead, a sync request message is published to the STOMP queue
- Agent Response: The site agent receives the message, queries the actual backend, and reports the current state back to Waldur
Backend Registration (in marketplace_site_agent/apps.py):
1 2 3 4 5 | |
Executor Implementation (in marketplace_site_agent/executors.py):
1 2 3 4 | |
Use Cases
- L1 Support: Quickly verify resource state matches backend during incident investigation
- Post-Outage Recovery: Manually trigger sync after network or service disruptions
- Debugging: Confirm that the STOMP messaging pipeline is working correctly
- Data Reconciliation: Force update when automatic sync may have missed changes
Reliability and Self-Healing Features
The STOMP publishing system includes several features for improved reliability and self-healing capabilities.
Circuit Breaker Pattern
A circuit breaker protects the system when RabbitMQ is unavailable:
- CLOSED: Normal operation, messages are published
- OPEN: RabbitMQ failures detected, messages are skipped to prevent cascading failures
- HALF_OPEN: Testing recovery, allowing limited messages through
Configuration (in waldur_core/logging/circuit_breaker.py):
failure_threshold: 5 consecutive failures to trip the circuitrecovery_timeout: 60 seconds before attempting recoverysuccess_threshold: 2 successful calls to close the circuit
Rate Limiting
Token bucket rate limiter prevents overwhelming RabbitMQ during burst scenarios:
- Rate: 500 messages per second
- Burst: 1000 messages maximum burst size
Message Idempotency
The system prevents duplicate message sends from periodic Celery beat tasks:
- Content Hashing: Message payloads are hashed (excluding timestamps)
- State Tracking: Last-sent hash is cached per resource/message-type
- Skip Unchanged: Messages with unchanged content are not re-sent
- Sequence Numbers: Monotonically increasing numbers enable consumer-side ordering
Message Delivery Configuration
STOMP messages include headers for reliable delivery:
- Persistence: Messages are persisted to disk (
persistent: true) - TTL: Type-based expiration (orders: 24h, resources: 2h, etc.)
- Dead Letter Queue: Failed messages routed to
waldur.dlq.messages - Queue Limits: Maximum 10,000 messages per queue with overflow rejection
Celery Task Retry
The publish_messages task uses Celery's built-in retry mechanism:
1 2 3 4 5 6 7 8 9 | |
Monitoring and Debug API
Staff-only endpoints under /api/debug/pubsub/ provide system visibility:
| Endpoint | Method | Description |
|---|---|---|
/overview/ |
GET | Dashboard with health status, issues, metrics summary |
/circuit_breaker/ |
GET | Circuit breaker state, config, and history |
/circuit_breaker_reset/ |
POST | Manually reset circuit breaker to CLOSED |
/metrics/ |
GET | Publishing metrics (sent, failed, skipped, latency) |
/metrics_reset/ |
POST | Reset all metrics counters |
/message_state_cache/ |
GET | Idempotency cache statistics |
/queues/ |
GET | Subscription queue overview with top queues |
/dead_letter_queue/ |
GET | DLQ statistics across all vhosts |
Example: Check system health
1 2 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Health Status Indicators
The overview endpoint calculates health status:
- healthy: Circuit breaker closed and failure rate < 10%
- degraded: Circuit breaker open OR failure rate > 10%
- critical: Failure rate > 50%
Existing RabbitMQ Monitoring Endpoints
Additional monitoring is available via:
- GET /api/rabbitmq-stats/: Queue statistics with message counts
- POST /api/rabbitmq-stats/: Purge or delete queues (staff only)
- GET /api/rabbitmq-overview/: Cluster health and throughput metrics
- GET /api/rabbitmq-vhost-stats/: Virtual host and subscription details
- GET /api/rabbitmq-user-stats/: Connection statistics per user
Invitations
The invitation system in Waldur provides a mechanism for inviting users to join organizations (customers), projects, or other scoped resources with specific roles. The system supports two main invitation types: individual invitations and group invitations, with different workflows and approval mechanisms.
Architecture Overview
The invitation system is built around three core models in waldur_core.users.models:
- BaseInvitation: Abstract base class providing common fields and functionality
- Invitation: Individual invitations for specific users with email-based delivery
- GroupInvitation: Template-based invitations that can be used by multiple users matching specific criteria
- PermissionRequest: Approval workflow for group invitation requests
Invitation Types
Individual Invitations
Individual invitations are sent to specific email addresses and provide a direct mechanism to grant users access to resources.
Key Features
- Email-based delivery: Invitations are sent to specific email addresses
- Civil number validation: Optional civil number matching for enhanced security
- State management: Full lifecycle tracking with states like pending, accepted, canceled, expired
- Execution tracking: Background processing with error handling and retry capabilities
- Expiration handling: Automatic expiration based on configurable timeouts
- Webhook support: External system integration for invitation delivery
State Flow
stateDiagram-v2
[*] --> PENDING: Create invitation
[*] --> REQUESTED: Staff approval required
[*] --> PENDING_PROJECT: Project not active yet
REQUESTED --> PENDING: Staff approves
REQUESTED --> REJECTED: Staff rejects
PENDING_PROJECT --> PENDING: Project becomes active
PENDING --> ACCEPTED: User accepts
PENDING --> CANCELED: Creator cancels
PENDING --> EXPIRED: Timeout reached
CANCELED --> PENDING: Resend invitation
EXPIRED --> PENDING: Resend invitation
ACCEPTED --> [*]
REJECTED --> [*]
Group Invitations
Group invitations provide template-based access that multiple users can request to join, with an approval workflow. They support both private invitations (visible only to authenticated users with appropriate permissions) and public invitations (visible to all users including unauthenticated ones).
Key Features
- Pattern-based matching: Users can request access if they match email patterns or affiliations
- Approval workflow: Requests go through a review process before granting access
- Project creation option: Can automatically create projects instead of granting customer-level access
- Role mapping: Support for different roles at customer and project levels
- Template-based naming: Configurable project name templates for auto-created projects
- Public visibility: Public invitations can be viewed and requested by unauthenticated users
Workflow
sequenceDiagram
participant U as User
participant GI as GroupInvitation
participant PR as PermissionRequest
participant A as Approver
participant S as System
U->>GI: Submit request
GI->>PR: Create PermissionRequest
PR->>A: Notify approvers
A->>PR: Approve/Reject
alt Approved & auto_create_project
PR->>S: Create project
S->>U: Grant project permission
else Approved & normal
PR->>S: Grant scope permission
end
PR->>U: Notify result
Public Group Invitations
Public group invitations are a special type of group invitation that can be viewed and requested by unauthenticated users. They are designed for open enrollment scenarios where organizations want to allow external users to request access to projects.
Key Characteristics
- Unauthenticated visibility: Listed in public API endpoints without authentication
- Staff-only creation: Only staff users can create and manage public invitations
- Project-level access only: Public invitations can only grant project-level roles, not customer-level roles
- Automatic project creation: All public invitations must use the auto-create project feature
- Enhanced security: Authentication is still required for submitting actual access requests
Constraints and Validation
- Staff authorization: Only
is_staff=Trueusers can create public group invitations - Auto-creation required: Public invitations must have
auto_create_project=True - Project roles only: Public invitations can only use roles starting with "PROJECT." (e.g.,
PROJECT.MANAGER,PROJECT.ADMIN) - No customer-level access: Cannot grant customer-level roles like
CUSTOMER.OWNERorCUSTOMER.SUPPORT
Use Cases
- Open research projects: Universities allowing external researchers to request project access
- Community initiatives: Organizations providing project spaces for community members
- Partner collaborations: Companies offering project access to external partners
- Educational platforms: Schools providing project environments for students
API Endpoints
Individual Invitations (/api/user-invitations/)
POST /api/user-invitations/- Create invitationGET /api/user-invitations/- List invitationsGET /api/user-invitations/{uuid}/- Retrieve invitation detailsPOST /api/user-invitations/{uuid}/send/- Resend invitationPOST /api/user-invitations/{uuid}/cancel/- Cancel invitationPOST /api/user-invitations/{uuid}/accept/- Accept invitation (authenticated)POST /api/user-invitations/{uuid}/delete/- Delete invitation (staff only)POST /api/user-invitations/approve/- Approve invitation (token-based)POST /api/user-invitations/reject/- Reject invitation (token-based)POST /api/user-invitations/{uuid}/check/- Check invitation validity (unauthenticated)GET /api/user-invitations/{uuid}/details/- Get invitation details for display
Group Invitations (/api/user-group-invitations/)
POST /api/user-group-invitations/- Create group invitation (authentication required)GET /api/user-group-invitations/- List group invitations (public invitations visible without authentication)GET /api/user-group-invitations/{uuid}/- Retrieve group invitation (public invitations accessible without authentication)POST /api/user-group-invitations/{uuid}/cancel/- Cancel group invitation (authentication required)POST /api/user-group-invitations/{uuid}/submit_request/- Submit access request (authentication required)GET /api/user-group-invitations/{uuid}/projects/- List available projects (authentication required)
Permission Requests (/api/user-permission-requests/)
GET /api/user-permission-requests/- List permission requestsGET /api/user-permission-requests/{uuid}/- Retrieve permission requestPOST /api/user-permission-requests/{uuid}/approve/- Approve requestPOST /api/user-permission-requests/{uuid}/reject/- Reject request
Model Fields and Relationships
BaseInvitation (Abstract)
1 2 3 4 5 6 7 | |
Invitation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
GroupInvitation
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
PermissionRequest
1 2 3 4 5 6 7 8 9 | |
Permission System Integration
Access Control
Invitation management permissions are controlled through:
- Staff privileges: Staff users can manage all invitations
- Scope-based permissions: Users with CREATE permissions on scopes can manage invitations
- Customer-level access: Customer owners can manage invitations for their resources
- Hierarchical permissions: Customer permissions apply to contained projects
Permission Checks
The system uses can_manage_invitation_with() utility (src/waldur_core/users/utils.py:179) for authorization:
1 2 3 4 5 6 7 8 9 10 11 | |
Filtering and Visibility
- InvitationFilterBackend: Filters invitations based on user permissions
- GroupInvitationFilterBackend: Controls group invitation visibility, allows public invitations for unauthenticated users
- PendingInvitationFilter: Filters invitations user can accept
- VisibleInvitationFilter: Controls invitation detail visibility
User Restrictions
Customers and Projects can define user restrictions that control which users can be added as members. These restrictions apply to both direct membership (via add_user API) and invitation acceptance. GroupInvitations can add additional restrictions on top of scope restrictions but cannot bypass them.
Restriction Fields
Both Customer and Project models support the following restriction fields:
1 2 3 4 5 6 7 8 9 | |
Validation Logic
Restrictions use OR logic within a field and AND logic across fields and levels:
- Within a field: User matches if ANY email pattern OR ANY affiliation OR ANY identity source matches
- Across fields: User must pass ALL fields that have restrictions set (e.g., if both email patterns and affiliations are set, user must match at least one of each)
- Across levels: User must pass ALL levels that have restrictions set (Customer → Project → GroupInvitation)
Special AAI validation rules:
- Nationalities: User must have at least one nationality in the allowed list (checks both
nationalityandnationalitiesfields) - Organization types: User's
organization_typemust be in the allowed list - Assurance levels: User must have ALL required assurance URIs (AND logic, not OR)
flowchart TD
A[User attempts to join] --> B{Customer has restrictions?}
B -->|Yes| C{User matches Customer restrictions?}
B -->|No| D{Project has restrictions?}
C -->|No| REJECT[Rejected - Customer restrictions not met]
C -->|Yes| D
D -->|Yes| E{User matches Project restrictions?}
D -->|No| F{GroupInvitation has restrictions?}
E -->|No| REJECT2[Rejected - Project restrictions not met]
E -->|Yes| F
F -->|Yes| G{User matches GroupInvitation restrictions?}
F -->|No| ALLOW[Allowed]
G -->|No| REJECT3[Rejected - GroupInvitation restrictions not met]
G -->|Yes| ALLOW
Cascade Validation Table
| Customer | Project | GroupInvitation | User Must Match |
|---|---|---|---|
| No restrictions | No restrictions | No restrictions | Anyone allowed |
| Has restrictions | No restrictions | No restrictions | Customer only |
| No restrictions | Has restrictions | No restrictions | Project only |
| Has restrictions | Has restrictions | No restrictions | Customer AND Project |
| Has restrictions | Has restrictions | Has restrictions | Customer AND Project AND GroupInvitation |
Permission to Set Restrictions
| Scope | Who Can Set Restrictions |
|---|---|
| Customer | Staff users only (is_staff=True) |
| Project | Users with CREATE_PROJECT permission on customer |
| GroupInvitation | Invitation creator (must respect scope restrictions) |
Examples
Customer-Level Email Restriction
1 2 3 4 5 6 | |
Project-Level Affiliation Restriction
1 2 3 4 5 6 | |
Identity Source Restriction
1 2 3 4 5 6 | |
Nationality Restriction (AAI)
1 2 3 4 5 6 | |
Organization Type Restriction (AAI)
1 2 3 4 5 6 7 8 9 | |
Assurance Level Restriction (AAI)
1 2 3 4 5 6 7 8 9 | |
Combined Customer and Project Restrictions
1 2 3 4 5 6 7 8 9 10 11 | |
Important Notes
- Staff users are NOT exempt: Restrictions apply to all users including staff
- Empty restrictions allow all: If no restrictions are set, any user is allowed
- GroupInvitation inherits scope restrictions: GroupInvitation cannot bypass Customer/Project restrictions
- Validation occurs at multiple points:
- Direct membership via
POST /customers/{uuid}/add_user/orPOST /projects/{uuid}/add_user/ - Invitation acceptance via
POST /invitations/{uuid}/accept/ - GroupInvitation request via
POST /group-invitations/{uuid}/submit_request/ - PermissionRequest approval
Background Processing
Celery Tasks
The invitation system uses several background tasks (src/waldur_core/users/tasks.py):
Core Processing Tasks
process_invitation: Main processing entry pointsend_invitation_created: Send invitation emails/webhooksget_or_create_user: Create user accounts for invitationssend_invitation_requested: Notify staff of invitation requests
Maintenance Tasks
cancel_expired_invitations: Clean up expired invitationscancel_expired_group_invitations: Clean up expired group invitationsprocess_pending_project_invitations: Activate invitations for started projectssend_reminder_for_pending_invitations: Send reminder emails
Notification Tasks
send_invitation_rejected: Notify creators of rejectionssend_mail_notification_about_permission_request_has_been_submitted: Notify approvers
Execution States
Individual invitations track background processing with FSM states:
SCHEDULED: Initial state, queued for processingPROCESSING: Currently being processedOK: Successfully processedERRED: Processing failed with error details
Error Handling
The system provides robust error tracking:
- Error messages: Human-readable error descriptions
- Error tracebacks: Full stack traces for debugging
- Retry mechanisms: Failed invitations can be resent
- Webhook failover: Falls back to email if webhooks fail
Configuration Options
Core Settings (WALDUR_CORE)
1 2 3 4 5 6 7 8 9 10 11 | |
Constance Settings
1 2 3 | |
Webhook Integration
1 2 3 4 5 6 | |
Email Templates
The system uses several email templates (waldur_core/users/templates/):
invitation_created- New invitation notificationinvitation_requested- Staff approval requestinvitation_rejected- Rejection notificationinvitation_expired- Expiration notificationinvitation_approved- Auto-created user credentialspermission_request_submitted- Permission request notification
Advanced Features
Project Auto-Creation
Group invitations can automatically create projects instead of granting customer-level access:
1 2 3 4 5 6 7 8 9 | |
Pattern Matching
Group invitations support sophisticated user matching:
1 2 3 4 5 6 7 8 9 10 11 | |
Token-Based Security
Staff approval uses cryptographically signed tokens:
1 2 3 4 5 6 | |
Security Considerations
Civil Number Validation
When civil_number is provided:
- Only users with matching civil numbers can accept invitations
- Provides additional security layer for sensitive resources
- Empty civil numbers allow any user to accept
Email Validation
Multiple levels of email validation:
- Loose matching (default): Case-insensitive email comparison
- Strict validation: Exact email matching when
ENABLE_STRICT_CHECK_ACCEPTING_INVITATION=True - Pattern matching: Group invitations validate against email patterns
Token Security
- Cryptographic signing: Uses Django's TimestampSigner
- Time-based expiration: Tokens expire after configurable period
- Payload validation: Validates UUID formats and user/invitation existence
- State verification: Ensures invitations are in correct state for operation
Permission Isolation
- Scope-based filtering: Users only see invitations they can manage
- Role validation: Ensures roles match scope content types, with additional constraints for public invitations
- Customer isolation: Prevents cross-customer invitation access
- Public invitation constraints: Public invitations restricted to project-level roles only
Best Practices
Creating Invitations
- Validate scope-role compatibility before creating invitations
- Set appropriate expiration times based on use case sensitivity
- Use civil numbers for high-security invitations
- Include helpful extra_invitation_text for user context
Group Invitation Setup
- Design clear email patterns that match intended user base
- Choose appropriate role mappings for auto-created projects
- Set meaningful project name templates for clarity
- Configure proper approval workflows with designated approvers
Public Invitation Management
- Restrict to staff users only - Only allow trusted staff to create public invitations
- Use project-level roles exclusively - Never grant customer-level access through public invitations
- Design clear project naming - Use descriptive templates since multiple projects may be created
- Monitor request volume - Public invitations may generate high volumes of access requests
- Set up proper approval processes - Ensure adequate staffing to handle public invitation approvals
Error Handling
- Monitor execution states for processing failures
- Set up alerts for invitation processing errors
- Provide clear error messages to users and administrators
- Implement retry strategies for transient failures
Performance Optimization
- Use bulk operations for large invitation batches
- Index frequently queried fields (email, state, customer)
- Archive old invitations to prevent table bloat
- Monitor background task queues for processing bottlenecks
Troubleshooting
Common Issues
- Invitations stuck in PROCESSING state
- Check Celery task processing
- Review error messages in invitation records
-
Verify SMTP/webhook configuration
-
Users can't accept invitations
- Verify email matching settings
- Check civil number requirements
-
Confirm invitation hasn't expired
-
Permission denied errors
- Validate user has CREATE permissions on scope
- Check customer-level permissions for hierarchical access
-
Confirm role is compatible with scope type
-
Group invitation requests not working
- Verify email patterns match user addresses
- Check affiliation matching logic
- Confirm invitation is still active
Debugging Tools
- Admin interface: View invitation details and states
- Celery monitoring: Track background task execution
- Logging: Enable debug logging for invitation processing
- API introspection: Use
/api/user-invitations/{uuid}/details/for status checking
Integration Examples
Basic Individual Invitation
1 2 3 4 5 6 7 8 9 10 11 | |
Group Invitation with Auto-Project
1 2 3 4 5 6 7 8 9 10 11 12 | |
Public Group Invitation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Webhook Integration
1 2 3 4 5 6 7 8 9 10 | |
This invitation system provides flexible, secure, and scalable user onboarding capabilities that integrate seamlessly with Waldur's permission and organizational structure.
Event logging
Event log entries is something an end user will see. In order to improve user experience the messages should be written in a consistent way.
Here are the guidelines for writing good log events.
- Use present perfect passive for the message.
Right: Environment %s has been created.
Wrong: Environment %s was created.
- Build a proper sentence: start with a capital letter, end with a period.
Right: Environment %s has been created.
Wrong: environment %s has been created
- Include entity names into the message string.
Right: User %s has gained role of %s in project %s.
Wrong: User has gained role in project.
- Don't include too many details into the message string.
Right: Environment %s has been updated.
Wrong: Environment has been updated with name: %s, description: %s.
- Use the name of an entity instead of its
__str__.
Right: event_logger.info('Environment %s has been updated.', env.name)
Wrong: event_logger.info('Environment %s has been updated.', env)
- Don't put quotes around names or entity types.
Right: Environment %s has been created.
Wrong: Environment "%s" has been created.
- Don't capitalize entity types.
Right: User %s has gained role of %s in project %s.
Wrong: User %s has gained Role of %s in Project %s.
- For actions that require background processing log both start of the process and its outcome.
Success flow:
-
log
Environment %s creation has been started.within HTTP request handler; -
log
Environment %s has been created.at the end of background task.
Failure flow:
-
log
Environment %s creation has been started.within HTTP request handler; -
log
Environment %s creation has failed.at the end of background task. -
For actions that can be processed within HTTP request handler log only success.
Success flow:
log User %s has been created. at the end of HTTP request handler.
Failure flow:
don't log anything, since most of the errors that could happen here are validation errors that would be corrected by user and then resubmitted.
Managed entities
Overview
Managed entities are entities for which Waldur's database is considered an authoritative source of information. By means of REST API a user defines the desired state of the entities. Waldur's jobs are then executed to make the backend (OpenStack, JIRA, etc) reflect the desired state as close as possible.
Since making changes to a backend can take a long time, they are done in background tasks.
Here's a proper way to deal with managed entities:
- within the scope of REST API request:
- introduce the change (create, delete or edit an entity) to the Waldur's database;
- schedule a background job passing instance id as a parameter;
-
return a positive HTTP response to the caller.
-
within the scope of background job:
-
fetch the entity being changed by its instance id;
- make sure that it is in a proper state (e.g. not being updated by another background job);
- transactionally update the its state to reflect that it is being updated;
- perform necessary calls to backend to synchronize changes from Waldur's database to that backend;
- transactionally update its state to reflect that it not being updated anymore.
Using the above flow makes it possible for user to get immediate feedback from an initial REST API call and then query state changes of the entity.
Managed entities operations flow
-
View receives request for entity change.
-
If request contains any data - view passes request to serializer for validation.
-
View extracts operations specific information from validated data and saves entity via serializer.
-
View starts executor with saved instance and operation specific information as input.
-
Executor handles entity states checks and transition.
-
Executor schedules celery tasks to perform asynchronous operations.
-
View returns response.
-
Tasks asynchronously call backend methods to perform required operation.
-
Callback tasks changes instance state after backend method execution.
Simplified schema of operations flow
View ---> Serializer ---> View ---> Executor ---> Tasks ---> Backend
Marketplace Orders and Processor Architecture
Overview
The Waldur marketplace processor architecture provides a flexible framework for handling service provisioning, updates, and termination across diverse service types. Each processor implements specific business logic for different marketplace operations while maintaining consistent interfaces for order validation and processing.
Processor Inheritance Hierarchy
Base Classes
classDiagram
class BaseOrderProcessor {
<<abstract>>
+Order order
+process_order(user) NotImplementedError
+validate_order(request) NotImplementedError
}
%% Create Processors
class AbstractCreateResourceProcessor {
<<abstract>>
+process_order(user)
+send_request(user) NotImplementedError
}
class CreateResourceProcessor {
+validate_order(request)
+send_request(user)
+get_serializer_class()
+get_viewset() NotImplementedError
+get_post_data() NotImplementedError
+get_scope_from_response(response) NotImplementedError
}
class BaseCreateResourceProcessor {
+viewset NotImplementedError
+fields NotImplementedError
+get_viewset()
+get_fields()
+get_resource_model()
+get_serializer_class()
+get_post_data()
+get_scope_from_response(response)
}
class BasicCreateResourceProcessor {
+send_request(user)
+validate_order(request)
}
%% Update Processors
class AbstractUpdateResourceProcessor {
<<abstract>>
+is_update_limit_order() bool
+is_renewal_order() bool
+is_update_options_order() bool
+validate_order(request)
+process_order(user)
+_process_renewal_or_limit_update(user, is_renewal)
+_process_plan_switch(user)
+_process_options_update(user)
+send_request(user) NotImplementedError
+get_resource()
+update_limits_process(user) NotImplementedError
}
class UpdateScopedResourceProcessor {
+get_resource()
+send_request(user)
+get_serializer_class()
+get_view() NotImplementedError
+get_post_data() NotImplementedError
}
class BasicUpdateResourceProcessor {
+send_request(user) bool
+validate_request(request)
+update_limits_process(user) bool
}
%% Delete Processors
class AbstractDeleteResourceProcessor {
<<abstract>>
+validate_order(request)
+get_resource()
+send_request(user, resource) NotImplementedError
+process_order(user)
}
class DeleteScopedResourceProcessor {
+viewset NotImplementedError
+get_resource()
+validate_order(request)
+send_request(user, resource)
+get_viewset()
+_get_action()
}
class BasicDeleteResourceProcessor {
+send_request(user, resource) bool
}
%% Inheritance relationships
BaseOrderProcessor <|-- AbstractCreateResourceProcessor
AbstractCreateResourceProcessor <|-- CreateResourceProcessor
CreateResourceProcessor <|-- BaseCreateResourceProcessor
AbstractCreateResourceProcessor <|-- BasicCreateResourceProcessor
BaseOrderProcessor <|-- AbstractUpdateResourceProcessor
AbstractUpdateResourceProcessor <|-- UpdateScopedResourceProcessor
AbstractUpdateResourceProcessor <|-- BasicUpdateResourceProcessor
BaseOrderProcessor <|-- AbstractDeleteResourceProcessor
AbstractDeleteResourceProcessor <|-- DeleteScopedResourceProcessor
AbstractDeleteResourceProcessor <|-- BasicDeleteResourceProcessor
Plugin-Specific Implementations
classDiagram
%% Base classes
class BaseCreateResourceProcessor {
<<abstract>>
}
class BaseOrderProcessor {
<<abstract>>
}
class AbstractUpdateResourceProcessor {
<<abstract>>
}
class DeleteScopedResourceProcessor {
<<abstract>>
}
%% OpenStack processors
class TenantCreateProcessor {
+viewset MarketplaceTenantViewSet
+fields tuple
+get_post_data()
}
class InstanceCreateProcessor {
+viewset MarketplaceInstanceViewSet
+fields tuple
+get_post_data()
}
class VolumeCreateProcessor {
+viewset MarketplaceVolumeViewSet
+fields tuple
}
class TenantUpdateProcessor {
+get_view()
+get_post_data()
+update_limits_process(user)
}
class OpenStackDeleteProcessor {
+viewset NotImplementedError
+get_viewset()
}
%% Remote marketplace processors
class RemoteCreateResourceProcessor {
+validate_order(request)
+process_order(user)
+send_request(user)
}
class RemoteUpdateResourceProcessor {
+send_request(user)
+update_limits_process(user)
}
class RemoteDeleteResourceProcessor {
+send_request(user, resource)
}
%% Rancher processors
class RancherCreateProcessor {
+fields tuple
+get_post_data()
+get_viewset()
+get_serializer_class()
}
%% Script processors
class ScriptCreateResourceProcessor {
+send_request(user)
+validate_order(request)
}
class ScriptUpdateResourceProcessor {
+send_request(user)
+update_limits_process(user)
}
class ScriptDeleteResourceProcessor {
+send_request(user, resource)
}
%% Inheritance relationships
BaseCreateResourceProcessor <|-- TenantCreateProcessor
BaseCreateResourceProcessor <|-- InstanceCreateProcessor
BaseCreateResourceProcessor <|-- VolumeCreateProcessor
BaseCreateResourceProcessor <|-- RancherCreateProcessor
BaseOrderProcessor <|-- RemoteCreateResourceProcessor
BaseOrderProcessor <|-- ScriptCreateResourceProcessor
AbstractUpdateResourceProcessor <|-- TenantUpdateProcessor
AbstractUpdateResourceProcessor <|-- RemoteUpdateResourceProcessor
AbstractUpdateResourceProcessor <|-- ScriptUpdateResourceProcessor
DeleteScopedResourceProcessor <|-- OpenStackDeleteProcessor
BaseOrderProcessor <|-- RemoteDeleteResourceProcessor
BaseOrderProcessor <|-- ScriptDeleteResourceProcessor
%% Group by service type
class OpenStackServices {
<<namespace>>
}
class RemoteMarketplace {
<<namespace>>
}
class RancherServices {
<<namespace>>
}
class ScriptServices {
<<namespace>>
}
Update Order Processor: Comprehensive Capabilities
The AbstractUpdateResourceProcessor is the most complex processor, handling multiple types of resource updates. It provides a unified interface for various update operations while delegating specific logic to subclasses.
Update Operation Types
The processor supports four primary update operation types:
1. Resource Limit Updates
- Detection:
"old_limits"present inorder.attributes - Use Cases:
- CPU/RAM quota adjustments
- Storage limit modifications
- Bandwidth allocation changes
- Service tier adjustments
- Method:
_process_renewal_or_limit_update(user, is_renewal=False) - Validation: Uses
validate_limits()to ensure new limits are valid
2. Prepaid Resource Renewals
- Detection:
order.attributes.get("action") == "renew" - Use Cases:
- Extending service end dates
- Renewing licenses or allocations
- Prepaid service extensions
- License renewals with optional limit changes
- Method:
_process_renewal_or_limit_update(user, is_renewal=True) - Features:
- Updates
end_dateandend_date_requested_by - Maintains renewal history in resource attributes
- Supports combined renewal + limit changes
- Tracks renewal costs and dates
3. Resource Options Updates
- Detection:
"new_options"present inorder.attributes - Use Cases:
- Configuration parameter changes
- Feature toggles
- Service option modifications
- Metadata updates
- Method:
_process_options_update(user) - Features:
- Merges new options with existing options
- Immediate synchronous processing
- Automatic success/failure handling
4. Plan Switches
- Detection: Default case when no other patterns match
- Use Cases:
- Service tier changes (Basic → Premium)
- Billing model switches
- Feature set modifications
- Service level adjustments
- Method:
_process_plan_switch(user) - Features:
- Changes resource plan association
- Supports both synchronous and asynchronous processing
- Triggers appropriate billing recalculations
Update Processing Flow
flowchart TD
A[AbstractUpdateResourceProcessor.process_order] --> B{Check Order Type}
B -->|action == 'renew'| C[Renewal Processing]
B -->|'old_limits' exists| D[Limit Update Processing]
B -->|'new_options' exists| E[Options Update Processing]
B -->|Default| F[Plan Switch Processing]
C --> G[_process_renewal_or_limit_update<br/>is_renewal=True]
D --> H[_process_renewal_or_limit_update<br/>is_renewal=False]
E --> I[_process_options_update]
F --> J[_process_plan_switch]
G --> K{Backend<br/>Operation}
H --> K
I --> L[Update Resource Options]
J --> M{Backend<br/>Operation}
K -->|Success| N[Update Resource Attributes]
K -->|Failure| O[Signal Limit Update Failed]
K -->|Async| P[Set State UPDATING]
M -->|Success| Q[Update Resource Plan]
M -->|Failure| R[Signal Update Failed]
M -->|Async| S[Set State UPDATING]
L --> T[Signal Update Succeeded]
N --> U[Signal Limit Update Succeeded]
Q --> V[Complete Order]
style C fill:#e1f5fe
style D fill:#e8f5e8
style E fill:#fff3e0
style F fill:#fce4ec
Validation Strategies
The processor employs different validation strategies based on the update type:
Limit and Renewal Validation
1 2 3 4 5 6 7 8 9 10 | |
Options Validation
- Options updates typically require minimal validation
- Validation logic can be customized in plugin-specific processors
- Default implementation allows all option changes
Plan Switch Validation
- Uses standard DRF serializer validation
- Delegates to
get_serializer_class()for field-specific validation - Can include business logic validation in subclasses
Renewal Processing Features
Renewals are a specialized type of limit update with additional features:
Renewal History Tracking
1 2 3 4 5 6 7 8 9 10 11 | |
End Date Management
- Supports extending service end dates
- Tracks who requested the renewal
- Handles timezone-aware date parsing
- Maintains audit trail of date changes
Plugin-Specific Implementations
Different service types implement update processing differently:
OpenStack Updates (TenantUpdateProcessor)
- Updates tenant quotas via OpenStack API
- Handles compute, network, and storage limits
- Asynchronous processing with callback handling
Remote Marketplace Updates (RemoteUpdateResourceProcessor)
- Forwards update requests to remote Waldur instances
- Handles API client authentication and error handling
- Supports cross-instance resource management
Script-Based Updates (ScriptUpdateResourceProcessor)
- Executes custom scripts for resource modifications
- Supports shell command execution with environment variables
- Flexible for non-standard service integrations
Basic Updates (BasicUpdateResourceProcessor)
- Synchronous processing for simple updates
- No external API calls required
- Suitable for configuration-only changes
Error Handling and State Management
The update processor provides comprehensive error handling:
Success Path
- Execute backend operation via
update_limits_process()orsend_request() - Update resource attributes in database transaction
- Send success signals (
resource_limit_update_succeeded) - Complete order processing
Failure Path
- Catch exceptions during backend operations
- Set error message on order
- Send failure signals (
resource_limit_update_failed) - Maintain resource in current state
Asynchronous Path
- Initiate backend operation
- Set resource state to
UPDATING - Return control immediately
- Backend calls webhooks/callbacks upon completion
Signals and Callbacks
The processor integrates with Waldur's signal system for event handling:
Success Signals
resource_limit_update_succeeded: Fired after successful limit updatesresource_update_succeeded: Fired after successful options updates
Failure Signals
resource_limit_update_failed: Fired when limit updates failresource_update_failed: Fired when general updates fail
Integration Points
- Billing system recalculation
- Notification sending
- Audit log creation
- External system synchronization
Best Practices for Processor Implementation
1. Inherit from Appropriate Base Class
- Use
BaseCreateResourceProcessorfor standard CRUD operations - Use
AbstractUpdateResourceProcessorfor complex update logic - Use
BasicXXXProcessorfor simple, synchronous operations
2. Implement Required Methods
- All processors must implement
process_order()andvalidate_order() - Update processors should implement
update_limits_process()for limit changes - Create processors should implement
send_request()for provisioning
3. Handle Both Sync and Async Operations
- Return
Truefrom processing methods for synchronous completion - Return
Falsefor asynchronous operations that complete via callbacks - Set appropriate resource states for async operations
4. Use Transactions Appropriately
- Wrap database modifications in
transaction.atomic() - Ensure consistency between order and resource states
- Handle rollback scenarios for failed operations
5. Provide Comprehensive Error Handling
- Catch and handle specific exception types
- Set meaningful error messages on orders
- Use appropriate signals for failure notification
- Log errors with sufficient context for debugging
This documentation provides a comprehensive overview of the marketplace processor architecture, with detailed focus on the Update processor's capabilities for handling renewals, limit changes, plan switches, and resource option modifications.
Waldur Marketplace Module
The Waldur marketplace module provides a unified service catalog with configurable billing patterns, approval workflows, and comprehensive service orchestration. It serves as the central hub for service provisioning, order management, and billing across diverse service types.
Architecture Overview
The marketplace follows a Service Catalog → Order → Resource → Billing architecture that abstracts service complexity while providing flexible customization:
graph TB
subgraph "Service Catalog"
SP[ServiceProvider] --> O[Offering]
O --> OC[OfferingComponent]
O --> P[Plan]
P --> PC[PlanComponent]
end
subgraph "Order Processing"
Order --> Processor[OrderProcessor]
Processor --> Resource
Resource --> Endpoint[ResourceAccessEndpoint]
end
subgraph "Billing"
PC --> CU[ComponentUsage]
Resource --> CU
CU --> Invoice[Billing System]
end
Order --> Resource
O --> Order
P --> Order
Core Models
ServiceProvider: Organizations offering services through the marketplaceOffering: Service definitions with pricing, components, and configurationOfferingComponent: Individual billable items (CPU, storage, support hours, etc.)Plan: Service packages with specific pricing and resource allocationsOrder: Purchase requests that trigger resource provisioningResource: Provisioned service instances with lifecycle managementComponentUsage: Records of consumption for usage-based components.
Order Lifecycle and State Management
Order States
Orders progress through a carefully managed state machine with approval workflows:
stateDiagram-v2
[*] --> PENDING_CONSUMER : Order created
PENDING_CONSUMER --> PENDING_PROVIDER : Consumer approves
PENDING_CONSUMER --> PENDING_PROJECT : Consumer approves & project start date is future
PENDING_CONSUMER --> PENDING_START_DATE : Consumer approves & no provider review & order start date is future
PENDING_CONSUMER --> CANCELED : Consumer cancels
PENDING_CONSUMER --> REJECTED : Consumer rejects
PENDING_PROVIDER --> PENDING_START_DATE : Provider approves & order start date is future
PENDING_PROVIDER --> EXECUTING : Provider approves
PENDING_PROVIDER --> CANCELED : Provider cancels
PENDING_PROVIDER --> REJECTED : Provider rejects
PENDING_PROJECT --> PENDING_PROVIDER: Project activates & provider review needed
PENDING_PROJECT --> PENDING_START_DATE: Project activates & no provider review & order start date is future
PENDING_PROJECT --> EXECUTING: Project activates
PENDING_PROJECT --> CANCELED : Project issues
PENDING_START_DATE --> EXECUTING : Start date reached
PENDING_START_DATE --> CANCELED : User cancels
EXECUTING --> DONE : Processing complete
EXECUTING --> ERRED : Processing failed
DONE --> [*]
ERRED --> [*]
CANCELED --> [*]
REJECTED --> [*]
State Descriptions
| State | Description | Triggers |
|---|---|---|
| PENDING_CONSUMER | Awaiting customer approval | Order creation |
| PENDING_PROVIDER | Awaiting service provider approval | Consumer approval |
| PENDING_PROJECT | Awaiting project activation | Provider approval |
| PENDING_START_DATE | Awaiting the order's specified start date. | Activation when a future start date is set on the order. |
| EXECUTING | Resource provisioning in progress | Processor execution |
| DONE | Order completed successfully | Resource provisioning success |
| ERRED | Order failed with errors | Processing errors |
| CANCELED | Order canceled by user/system | User cancellation |
| REJECTED | Order rejected by provider | Provider rejection |
Resource States
Resources maintain their own lifecycle independent of orders:
stateDiagram-v2
[*] --> CREATING : Order approved
CREATING --> OK : Provisioning success
CREATING --> ERRED : Provisioning failed
OK --> UPDATING : Update requested
OK --> TERMINATING : Deletion requested
UPDATING --> OK : Update success
UPDATING --> ERRED : Update failed
TERMINATING --> TERMINATED : Deletion success
TERMINATING --> ERRED : Deletion failed
ERRED --> OK : Error resolved
ERRED --> UPDATING : Retry update
ERRED --> TERMINATING : Force deletion
TERMINATED --> [*]
Resource State Descriptions
| State | Description | Operations Allowed |
|---|---|---|
| CREATING | Resource being provisioned | Monitor progress |
| OK | Resource active and healthy | Update, delete, use |
| UPDATING | Resource being modified | Monitor progress |
| TERMINATING | Resource being deleted | Monitor progress |
| TERMINATED | Resource deleted | Archive, billing |
| ERRED | Resource in error state | Retry, investigate, delete |
Billing System
The billing system is designed to be flexible and event-driven, reacting to changes in a resource's lifecycle and usage.
Billing Workflow and Core Components
The entire billing process is initiated by Django signals, ensuring that billing logic is decoupled from the core resource management code.
-
Signal-Driven Architecture: Billing events are triggered by
post_savesignals on two key models:marketplace.Resource: Changes to a resource's state, plan, or limits trigger billing actions.marketplace.ComponentUsage: Reporting new usage data triggers invoicing for usage-based components.
-
MarketplaceBillingService: This is the central orchestrator for billing. It handles major resource lifecycle events and delegates the creation of invoice items to specialized logic.handle_resource_creation(): Called when a resource becomesOKafterCREATING.handle_resource_termination(): Called when a resource becomesTERMINATED.handle_plan_change(): Called when theplan_idon a resource changes.handle_limits_change(): Called when thelimitson a resource change.
-
LimitPeriodProcessor: This class is responsible for the complex logic ofLIMITtype components. It determines how and when to bill based on the component'slimit_period(e.g.,MONTH,QUARTERLY,TOTAL). -
BillingUsageProcessor: This class handles invoicing forUSAGEtype components. Its logic is triggered exclusively by the creation or update ofComponentUsagerecords. It also manages prepaid balances and overage billing.
Billing Types
The marketplace supports five distinct billing patterns, each handled by different parts of the system.
| Type | Use Case | Example | Billing Trigger |
|---|---|---|---|
| FIXED | Monthly subscriptions, SaaS plans | $50/month for a software license | Resource activation and monthly invoice generation. |
| USAGE | Pay-as-you-consume services | $0.10/GB of storage used | ComponentUsage reports are submitted. |
| LIMIT | Pre-allocated resource quotas | $5/CPU core allocated per month | Resource activation, limit changes, and monthly invoice generation. |
| ONE_TIME | Setup fees, licenses | $100 one-time installation fee | Resource activation (CREATE order). |
| ON_PLAN_SWITCH | Fees for changing service plans | $25 fee to upgrade to a premium plan | Plan modification (UPDATE order). |
Component Architecture
Each offering consists of billable components with independent pricing:
graph LR
subgraph "Offering: Cloud VM"
C1[CPU Cores<br/>LIMIT billing]
C2[RAM GB<br/>LIMIT billing]
C3[Storage GB<br/>USAGE billing]
C4[Network Traffic<br/>USAGE billing]
C5[Management Fee<br/>FIXED billing]
end
subgraph "User Order"
L1[4 CPU cores]
L2[8 GB RAM]
L3[Unlimited storage]
L4[Unlimited network]
L5[1x management]
end
C1 --> L1
C2 --> L2
C3 --> L3
C4 --> L4
C5 --> L5
Limit-Based Billing (LimitPeriodProcessor)
Limit-based components are billed based on the quantity of a resource a user has allocated, not their actual consumption. The billing behavior varies significantly depending on the limit_period. The LimitPeriodProcessor class is responsible for handling this logic.
-
MONTH&ANNUAL: These are treated as standard recurring monthly charges. An invoice item is created for each month the resource is active, prorated for the first and last months. The price is based on the allocated limit. -
TOTAL: This period represents a one-time charge for a lifetime allocation. - Initial Charge: A single invoice item is created when the resource is first provisioned (
CREATEorder). -
Limit Updates: If the limit for a
TOTALcomponent is changed later, the system calculates the difference between the new limit and the sum of all previously billed quantities for that component. It then creates a new invoice item (positive or negative) to bill for only the increment or credit the decrement. This prevents double-billing and correctly handles upgrades/downgrades. -
QUARTERLY: This period has specialized logic for billing every three months, ensuring charges align with standard financial quarters.
Quarterly Billing Implementation
The implementation for QUARTERLY components ensures they are billed on a strict three-month cycle.
1. Billing Schedule: The system will only generate charges for quarterly components during the first month of each quarter. This is controlled by the LimitPeriodProcessor._should_process_billing method.
- Q1: Billing occurs in January (for Jan, Feb, Mar)
- Q2: Billing occurs in April (for Apr, May, Jun)
- Q3: Billing occurs in July (for Jul, Aug, Sep)
- Q4: Billing occurs in October (for Oct, Nov, Dec)
If the monthly invoice generation runs in a non-billing month (e.g., February), this method returns False, and no invoice item is created for quarterly components.
2. Billing Period Calculation: When a quarterly component is processed on a valid billing month, the LimitPeriodProcessor.process_creation method determines the full quarter's start and end dates using core_utils.get_quarter_start() and core_utils.get_quarter_end(). The resulting invoice item will have its start and end dates set to span the entire quarter (e.g., 2023-04-01 to 2023-06-30).
3. Quantity Calculation: The quantity is calculated based on the plan's unit, not a special "per quarter" unit. For example, if the plan unit is PER_DAY, the total quantity for the invoice item is limit * number_of_days_in_the_quarter.
4. Limit Update Handling: If a user changes the limit for a quarterly component mid-quarter, the system does not create a new "compensation" item. Instead, the LimitPeriodProcessor._update_invoice_item method modifies the single existing invoice item for that quarter:
- The internal
resource_limit_periodslist within the invoice item'sdetailsis updated. It records the old limit with its effective period (from the quarter start until the change) and the new limit with its effective period (from the change until the quarter end). - The item's total
quantityis then recalculated. It becomes the sum of the prorated quantities from each sub-period. For aPER_DAYunit, this would be:(old_limit * days_in_old_period) + (new_limit * days_in_new_period) - This ensures that a single line item on the invoice accurately reflects the total cost for the quarter, even with mid-period changes.
Example Flow:
- A resource with a quarterly "storage" component (limit: 100 GB, unit:
PER_DAY) is active. - The monthly billing task runs on April 5th.
_should_process_billingreturnsTruebecause April is the start of Q2.- An
InvoiceItemis created with:start: April 1stend: June 30thquantity:100 * 91(days in Q2)
- On May 10th, the user increases the limit to 150 GB.
MarketplaceBillingService.handle_limits_changeis triggered, callingLimitPeriodProcessor.process_update.- The existing
InvoiceItemfor Q2 is updated:- Its
detailsnow reflect two periods: 100 GB from Apr 1 to May 9, and 150 GB from May 10 to Jun 30. - Its
quantityis recalculated to(100 * 39) + (150 * 52). - The
unit_priceremains the same. The total price adjusts automatically based on the new total quantity.
- Its
Usage-Based Billing (BillingUsageProcessor)
This model is for services where the cost is directly tied to consumption.
-
Trigger: The process begins when a
ComponentUsagerecord is saved, which contains the total usage for a component within a specific period (usually a month). -
Invoice Item Management: The processor finds or creates an invoice item for that resource, component, and billing month. It updates the item's quantity to reflect the latest reported usage. This ensures the invoice always shows the most up-to-date consumption data.
-
Prepaid and Overage Billing: Offerings can feature prepaid components, where a certain amount of usage is included (e.g., in a
FIXEDfee) before extra charges apply. - When usage is reported, the
BillingUsageProcessorfirst checks if the component is marked asis_prepaid. - It calculates the available prepaid balance for the resource.
- If the reported usage is within the balance, no invoice item is generated. The usage is consumed from the balance.
- If usage exceeds the balance, the overage amount is calculated. The system then looks for a linked
overage_componenton the offering component. - An invoice item is created for the overage amount, billed against the
overage_componentat its specific (often higher) price. If no overage component is configured, the excess usage is not billed.
Billing Processing Flow Diagram
graph TD
subgraph "1. Triggers (User/System Actions)"
TR_Action[Update Resource state, plan, or limits] --> TR_SaveResource(Save `marketplace.Resource`)
TR_Usage[Report component usage] --> TR_SaveUsage(Save `marketplace.ComponentUsage`)
end
subgraph "2. Signal Handling"
TR_SaveResource -- emits `post_save` signal --> SH_ResourceHandler(`process_billing_on_resource_save`)
TR_SaveUsage -- emits `post_save` signal --> SH_UsageHandler(`BillingUsageProcessor.update_invoice_when_usage_is_reported`)
end
subgraph "3. Billing Orchestration & Logic"
MBS[MarketplaceBillingService]
SH_ResourceHandler -- calls appropriate method based on change --> MBS
MBS -- `_process_resource()` loops through plan components --> Decision_BillingType{What is component.billing_type?}
Decision_BillingType -- FIXED, ONE_TIME, ON_PLAN_SWITCH --> Logic_Simple(Handled directly by MarketplaceBillingService)
Decision_BillingType -- LIMIT --> Logic_Limit(LimitPeriodProcessor)
SH_UsageHandler -- Processes usage directly --> Logic_Usage(BillingUsageProcessor)
end
subgraph "4. Final Outcome"
Invoice(invoice.Invoice)
InvoiceItem(invoice.InvoiceItem)
Invoice --> InvoiceItem
end
Logic_Simple --> Action_CreateItem(Create New `InvoiceItem`)
Logic_Limit -- process_creation/process_update --> Action_CreateOrUpdateItem(Create or Update `InvoiceItem`)
Logic_Usage -- _create_or_update_usage_invoice_item --> Action_CreateOrUpdateItem
Action_CreateItem --> InvoiceItem
Action_CreateOrUpdateItem --> InvoiceItem
%% Styling
classDef trigger fill:#e6f3ff,stroke:#0066cc,stroke-width:2px;
classDef handler fill:#fff2e6,stroke:#ff8c1a,stroke-width:2px;
classDef service fill:#e6fffa,stroke:#00997a,stroke-width:2px;
classDef outcome fill:#f0f0f0,stroke:#666,stroke-width:2px;
class TR_Action,TR_Usage,TR_SaveResource,TR_SaveUsage trigger;
class SH_ResourceHandler,SH_UsageHandler handler;
class MBS,Decision_BillingType,Logic_Simple,Logic_Limit,Logic_Usage service;
class Invoice,InvoiceItem,Action_CreateItem,Action_CreateOrUpdateItem outcome;
Explanation of the Flow
This diagram illustrates how billing events are triggered and processed within the Waldur marketplace. The flow is divided into two main, parallel paths: one for resource lifecycle events and another for usage reporting.
1. Triggers
The entire process begins with a user or system action that results in a database write. There are two primary triggers:
- Resource Lifecycle Event: A user or an automated process modifies a
marketplace.Resource. This includes activating a new resource (CREATING->OK), changing its plan, updating its limits, or terminating it. This action saves theResourcemodel. - Usage Reporting: A monitoring system or a user reports consumption for a component. This action creates or updates a
marketplace.ComponentUsagemodel instance.
2. Signal Handling
Waldur uses Django's signal system to decouple the billing logic from the models themselves. When a model is saved, it emits a post_save signal.
process_billing_on_resource_save: This function listens for signals from theResourcemodel. It inspects what has changed (thetracker) to determine which billing action to initiate (e.g., creation, termination, plan change).BillingUsageProcessor.update_invoice_when_usage_is_reported: This method acts as both a signal handler and a processor. It listens for signals specifically from theComponentUsagemodel.
3. Billing Orchestration & Logic
This is the core of the system where decisions are made.
-
Path A: Resource Lifecycle Events
- The
process_billing_on_resource_savehandler calls the appropriate method on the centralMarketplaceBillingService. - The
MarketplaceBillingServicethen iterates through all the billable components associated with the resource's plan. - For each component, it checks the
billing_typeand delegates to the correct logic:FIXED,ONE_TIME,ON_PLAN_SWITCH: These have simple, predictable billing logic that is handled directly within theMarketplaceBillingService. It creates a new invoice item.LIMIT: The logic for limit-based components is complex, involving periods and prorating.MarketplaceBillingServicedelegates this to the specializedLimitPeriodProcessor, which then calculates and creates or updates the invoice item.
- The
-
Path B: Usage Reporting Events
- The
update_invoice_when_usage_is_reportedmethod is called directly by the signal. - The
BillingUsageProcessorhandles the entire flow forUSAGEcomponents. It checks for prepaid balances, calculates overages, and creates or updates the corresponding invoice item. This path operates independently of theMarketplaceBillingService.
- The
4. Final Outcome
Both processing paths ultimately converge on the same goal: creating or modifying records in the invoicing system.
- An
invoice.Invoiceis retrieved or created for the customer for the current billing period (e.g., the current month). - An
invoice.InvoiceItemis either created new (forFIXEDorONE_TIMEcomponents) or created/updated (forLIMITandUSAGEcomponents) and linked to the invoice. This item contains all the details of the charge: name, quantity, unit price, and metadata.
Processor Architecture
Processors handle service-specific provisioning logic while maintaining consistent interfaces:
Base Processor Classes
1 2 3 4 5 6 7 8 | |
Processor Flow
sequenceDiagram
participant U as User
participant O as Order
participant P as Processor
participant B as Backend
participant R as Resource
U->>O: Create order
O->>P: validate_order()
Note over O: Approval workflow
O->>P: process_order()
P->>B: Provision resource
B-->>P: Backend ID/metadata
P->>R: Create resource
P->>R: Set endpoints
P-->>O: Processing complete
Realistic Service Examples
1. Cloud Infrastructure (OpenStack)
Service Type: Virtual private cloud with compute, storage, networking Billing Pattern: Limit-based quotas + usage-based consumption
1 2 3 4 5 6 7 8 9 10 11 12 | |
Components:
- CPU cores (limit-based, monthly reset)
- RAM GB (limit-based, monthly reset)
- Storage GB (usage-based, pay per GB used)
- Network traffic (usage-based, pay per GB transferred)
2. Managed Kubernetes (Rancher)
Service Type: Fully managed Kubernetes with infrastructure orchestration Billing Pattern: Aggregated billing across multiple resources
1 2 3 4 5 6 7 | |
Components:
- Worker node hours (usage-based)
- Master node (fixed monthly)
- Load balancer (fixed monthly)
- Storage volumes (limit-based, total)
- Management fee (fixed monthly)
3. HPC Compute Allocation (SLURM)
Service Type: High-performance computing resource allocation Billing Pattern: Time-limited resource quotas
1 2 3 4 5 6 | |
Components:
- CPU hours (limit-based, annual reset)
- GPU hours (limit-based, annual reset)
- Storage quota (limit-based, total)
- Priority queue access (one-time fee)
4. Enterprise Software Licensing
Service Type: Enterprise software with quarterly billing cycles Billing Pattern: Quarterly licensing with flexible user limits
Components:
- User licenses (limit-based, quarterly reset)
- Admin seats (limit-based, quarterly reset)
- Support hours (limit-based, quarterly reset)
- Implementation services (one-time fee)
- Training licenses (usage-based, quarterly reporting)
Advanced Features
Resource Access Endpoints
Resources can expose multiple access points:
1 2 3 4 5 6 | |
Backend Metadata
Processors can store service-specific metadata:
1 2 3 4 5 6 | |
Approval Workflows
The marketplace implements intelligent approval workflows that automatically determine when manual approval is required based on order characteristics, user permissions, and offering configuration.
Order Approval Logic Flow
flowchart TD
A[Order Created] --> B{Consumer Approval Required?}
B -->|Yes| C[PENDING_CONSUMER]
B -->|No| D{Project Start Date Set?}
C --> E[Consumer Reviews] --> D
D -->|Yes| F[PENDING_PROJECT]
D -->|No| G{Provider Approval Required?}
F --> H[Project Activated] --> G
G -->|Yes| I[PENDING_PROVIDER]
G -->|No| J[EXECUTING]
I --> K[Provider Reviews] --> J
J --> L[Order Processing]
Consumer Approval Rules
Consumer approval is skipped when any of these conditions are met:
| Condition | Requirements | Implementation |
|---|---|---|
| Staff User | Order created by staff user | user.is_staff == True |
| Private Offering | User has project-level approval permission | has_permission(APPROVE_PRIVATE_ORDER, project) |
| Same Organization Auto-Approval | Public offering with auto-approval enabled | offering.shared && offering.customer == project.customer && auto_approve_in_service_provider_projects == True |
| Termination by Service Provider | Service provider owner terminating resource | order.type == TERMINATE && has_owner_access(user, offering.customer) |
| Project Permission | User has order approval permission | has_permission(APPROVE_ORDER, project) |
Provider Approval Rules
Provider approval is skipped for specific offering types and conditions:
| Offering Type | Auto-Approval Logic |
|---|---|
| Basic Offerings | Always require manual approval (BASIC_PLUGIN_NAME) |
| Site Agent | Always require manual approval (SITE_AGENT_PLUGIN_NAME) |
| Remote Offerings | Skip if: auto_approve_remote_orders OR user is service provider owner/manager |
| All Other Types | Always skip approval (auto-approve) |
Remote Offering Approval Logic
For remote marketplace offerings, approval is skipped when:
1 2 3 4 5 6 7 | |
Project Approval Rules
Project approval occurs when:
- Project Start Date: Project has a future
start_dateset - Orders wait in
PENDING_PROJECTstate until project is activated - When
start_dateis cleared, pending orders automatically proceed
Approval Workflow Handler
The approval logic is implemented in notify_approvers_when_order_is_created handler:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Notification System
The system automatically notifies relevant approvers:
- Consumer Notifications: Project managers, customer owners with
APPROVE_ORDERpermission - Provider Notifications: Service provider staff, offering managers
- Staff Notifications: Optional staff notifications via
NOTIFY_STAFF_ABOUT_APPROVALSsetting
Configuration Options
Approval behavior can be customized through offering plugin_options:
1 2 3 4 | |
This intelligent approval system ensures that:
- Routine operations (staff actions, same-org requests) skip unnecessary approvals
- High-risk operations (external requests, termination) require appropriate review
- Complex workflows (remote offerings, delayed projects) handle edge cases gracefully
- Notification fatigue is minimized through targeted approver selection
Error Handling and Rollback
1 2 3 4 5 6 7 8 9 | |
Integration Patterns
Synchronous Processing
For simple, fast operations:
1 2 3 | |
Asynchronous Processing
For complex, long-running operations:
1 2 3 | |
External API Integration
1 2 3 4 | |
OfferingUser States and Management
OfferingUser represents a user account created for a specific marketplace offering. It supports a finite state machine (FSM) that tracks the lifecycle of user account creation, validation, and management.
States
OfferingUser has the following states:
| State | Description |
|---|---|
CREATION_REQUESTED |
Initial state when user account creation is requested |
CREATING |
Account is being created by the service provider |
PENDING_ACCOUNT_LINKING |
Waiting for user to link their existing account |
PENDING_ADDITIONAL_VALIDATION |
Requires additional validation from service provider |
OK |
Account is active and ready to use |
DELETION_REQUESTED |
Account deletion has been requested |
DELETING |
Account is being deleted |
DELETED |
Account has been successfully deleted |
ERROR_CREATING |
An error occurred during account creation |
ERROR_DELETING |
An error occurred during account deletion |
State Transitions
stateDiagram-v2
[*] --> CREATION_REQUESTED : Account requested
CREATION_REQUESTED --> CREATING : begin_creating()
CREATION_REQUESTED --> OK : set_ok()
CREATING --> PENDING_ACCOUNT_LINKING : set_pending_account_linking()
CREATING --> PENDING_ADDITIONAL_VALIDATION : set_pending_additional_validation()
CREATING --> OK : set_ok()
PENDING_ACCOUNT_LINKING --> OK : set_validation_complete()
PENDING_ACCOUNT_LINKING --> PENDING_ADDITIONAL_VALIDATION : set_pending_additional_validation()
PENDING_ADDITIONAL_VALIDATION --> OK : set_validation_complete()
PENDING_ADDITIONAL_VALIDATION --> PENDING_ACCOUNT_LINKING : set_pending_account_linking()
OK --> DELETION_REQUESTED : request_deletion()
DELETION_REQUESTED --> DELETING : set_deleting()
DELETING --> DELETED : set_deleted()
%% Error state transitions during creation flow
CREATION_REQUESTED --> ERROR_CREATING : set_error_creating()
CREATING --> ERROR_CREATING : set_error_creating()
PENDING_ACCOUNT_LINKING --> ERROR_CREATING : set_error_creating()
PENDING_ADDITIONAL_VALIDATION --> ERROR_CREATING : set_error_creating()
%% Error state transitions during deletion flow
DELETION_REQUESTED --> ERROR_DELETING : set_error_deleting()
DELETING --> ERROR_DELETING : set_error_deleting()
%% Recovery from error states
ERROR_CREATING --> CREATING : begin_creating()
ERROR_CREATING --> OK : set_ok()
ERROR_CREATING --> PENDING_ACCOUNT_LINKING : set_pending_account_linking()
ERROR_CREATING --> PENDING_ADDITIONAL_VALIDATION : set_pending_additional_validation()
ERROR_DELETING --> DELETING : set_deleting()
ERROR_DELETING --> OK : set_ok()
%% Legacy error transitions (backward compatibility)
CREATION_REQUESTED --> ERROR_CREATING : set_error() [legacy]
CREATING --> ERROR_CREATING : set_error() [legacy]
PENDING_ACCOUNT_LINKING --> ERROR_CREATING : set_error() [legacy]
PENDING_ADDITIONAL_VALIDATION --> ERROR_CREATING : set_error() [legacy]
OK --> ERROR_CREATING : set_error() [legacy]
DELETION_REQUESTED --> ERROR_CREATING : set_error() [legacy]
DELETING --> ERROR_CREATING : set_error() [legacy]
REST API Endpoints
State Transition Actions
All state transition endpoints require UPDATE_OFFERING_USER permission and are accessed via POST to the offering user detail endpoint with the action suffix.
Base URL: /api/marketplace-offering-users/{uuid}/
Set Pending Additional Validation
1 2 3 4 5 6 7 | |
Valid transitions from: CREATING, ERROR_CREATING, PENDING_ACCOUNT_LINKING
Set Pending Account Linking
1 2 3 4 5 6 7 | |
Valid transitions from: CREATING, ERROR_CREATING, PENDING_ADDITIONAL_VALIDATION
Set Validation Complete
1 | |
Valid transitions from: PENDING_ADDITIONAL_VALIDATION, PENDING_ACCOUNT_LINKING
Note: This action clears both the service_provider_comment and service_provider_comment_url fields.
Set Error Creating
1 | |
Valid transitions from: CREATION_REQUESTED, CREATING, PENDING_ACCOUNT_LINKING, PENDING_ADDITIONAL_VALIDATION
Sets the user account to error state during the creation process. Used when creation operations fail.
Set Error Deleting
1 | |
Valid transitions from: DELETION_REQUESTED, DELETING
Sets the user account to error state during the deletion process. Used when deletion operations fail.
Begin Creating
1 | |
Valid transitions from: CREATION_REQUESTED, ERROR_CREATING
Initiates the account creation process. Can be used to retry creation after an error.
Request Deletion
1 | |
Valid transitions from: OK
Initiates the account deletion process. Moves the user from active status to deletion requested.
Set Deleting
1 | |
Valid transitions from: DELETION_REQUESTED, ERROR_DELETING
Begins the account deletion process. Can be used to retry deletion after an error.
Set Deleted
1 | |
Valid transitions from: DELETING
Marks the user account as successfully deleted. This is the final state for successful account deletion.
Service Provider Comment Management
Update Comments
Service providers can directly update comment fields without changing the user's state:
1 2 3 4 5 6 7 | |
Permissions: Requires UPDATE_OFFERING_USER permission on the offering's customer.
Valid states: All states except DELETED
Both fields are optional - you can update just the comment, just the URL, or both.
OfferingUser Fields
When retrieving or updating OfferingUser objects, the following state-related fields are available:
state(string, read-only): Current state of the user accountservice_provider_comment(string, read-only): Comment from service provider for pending statesservice_provider_comment_url(string, read-only): Optional URL link for additional information or actions related to the service provider comment
Backward Compatibility
The system maintains backward compatibility with existing integrations:
Automatic State Transitions
- Username Assignment: When a username is assigned to an OfferingUser (via API or
set_offerings_username), the state automatically transitions toOK - Creation with Username: Creating an OfferingUser with a username immediately sets the state to
OK
Legacy Endpoints
POST /api/marketplace-service-providers/{uuid}/set_offerings_username/- Bulk username assignment that automatically transitions users toOKstate
Legacy Error State Support
For backward compatibility with existing integrations:
set_error()method: The legacyset_error()method still exists and defaults toERROR_CREATINGstate
New integrations should use the specific error states (ERROR_CREATING, ERROR_DELETING) for better error context.
Usage Examples
Service Provider Workflow
Standard Creation Flow
- Initial Creation: OfferingUser is created with state
CREATION_REQUESTED - Begin Processing: Transition to
CREATINGstate - Require Validation: If additional validation needed, transition to
PENDING_ADDITIONAL_VALIDATIONwith explanatory comment and optional URL - Complete Validation: Once validated, transition to
OKstate - Account Ready: User can now access the service
Enhanced Workflow with Comment URLs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Error Handling and Recovery
1 2 3 4 5 6 7 8 9 10 11 | |
Account Deletion Workflow
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Permissions
State transition endpoints use the permission_factory pattern with:
- Permission:
UPDATE_OFFERING_USER - Scope:
["offering.customer"]- User must have permission on the offering's customer
This means users need the UPDATE_OFFERING_USER permission on the customer that owns the offering associated with the OfferingUser.
Filtering OfferingUsers
The OfferingUser list endpoint supports filtering by state to help manage users across different lifecycle stages.
State Filtering
Filter OfferingUsers by their current state using the state query parameter:
1 2 | |
Available State Filter Values
| Filter Value | State Constant | Description |
|---|---|---|
Requested |
CREATION_REQUESTED |
Users with account creation requested |
Creating |
CREATING |
Users whose accounts are being created |
Pending account linking |
PENDING_ACCOUNT_LINKING |
Users waiting to link existing accounts |
Pending additional validation |
PENDING_ADDITIONAL_VALIDATION |
Users requiring additional validation |
OK |
OK |
Users with active, ready-to-use accounts |
Requested deletion |
DELETION_REQUESTED |
Users with deletion requested |
Deleting |
DELETING |
Users whose accounts are being deleted |
Deleted |
DELETED |
Users with successfully deleted accounts |
Error creating |
ERROR_CREATING |
Users with errors during account creation |
Error deleting |
ERROR_DELETING |
Users with errors during account deletion |
Multiple State Filtering
Filter by multiple states simultaneously:
1 2 | |
Combining with Other Filters
State filtering can be combined with other available filters:
1 2 3 4 5 6 7 8 | |
Error Handling
Invalid state values return HTTP 400 Bad Request:
1 2 | |
Other Available Filters
The OfferingUser list endpoint also supports these filters:
offering_uuid- Filter by offering UUIDuser_uuid- Filter by user UUIDuser_username- Filter by user's username (case-insensitive)provider_uuid- Filter by service provider UUIDis_restricted- Filter by restriction status (boolean)created_before/created_after- Filter by creation datemodified_before/modified_after- Filter by modification datequery- General search across offering name, username, and user names
Practical Filtering Examples
Here are common filtering scenarios for managing OfferingUsers:
Find Users Requiring Attention
1 2 3 4 5 6 7 8 9 10 11 | |
Monitor Service Provider Operations
1 2 3 4 5 | |
Audit and Reporting
1 2 3 4 5 | |
Events and Logging
State transitions generate:
- Event logs: Recorded in the system event log for audit purposes
- Application logs: Logged with user attribution for debugging and monitoring
User Attribute Exposure Configuration
Waldur supports GDPR-compliant per-offering configuration of which user attributes are exposed to service providers. This allows organizations to declare and control what personal data is shared with each offering.
Overview
The OfferingUserAttributeConfig model allows service provider administrators to configure exactly which user profile attributes are exposed when retrieving OfferingUser data via the API.
flowchart LR
subgraph User Profile
UP[User]
UP --> |has| A1[username]
UP --> |has| A2[full_name]
UP --> |has| A3[email]
UP --> |has| A4[phone_number]
UP --> |has| A5[organization]
UP --> |has| A6[nationality]
UP --> |has| A7[...]
end
subgraph Offering Config
OC[OfferingUserAttributeConfig]
OC --> |expose_username| E1[true]
OC --> |expose_full_name| E2[true]
OC --> |expose_email| E3[true]
OC --> |expose_phone_number| E4[false]
OC --> |expose_nationality| E5[true]
end
subgraph API Response
AR[OfferingUser API]
AR --> |returns| R1[username ✓]
AR --> |returns| R2[full_name ✓]
AR --> |returns| R3[email ✓]
AR --> |filters| R4[phone_number ✗]
AR --> |returns| R5[nationality ✓]
end
UP --> OC
OC --> AR
API Endpoints
Get/Update Attribute Configuration
Endpoint: /api/marketplace-offering-user-attribute-configs/
1 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Update Existing Configuration
1 2 3 4 5 6 7 | |
Available Attributes
| Attribute | Default | Description |
|---|---|---|
expose_username |
true |
User's username |
expose_full_name |
true |
User's full name |
expose_email |
true |
User's email address |
expose_phone_number |
false |
User's phone number |
expose_organization |
false |
User's organization |
expose_job_title |
false |
User's job title |
expose_affiliations |
false |
User's affiliations |
expose_gender |
false |
User's gender (ISO 5218) |
expose_personal_title |
false |
Honorific title |
expose_place_of_birth |
false |
Place of birth |
expose_country_of_residence |
false |
Country of residence |
expose_nationality |
false |
Primary nationality |
expose_nationalities |
false |
All citizenships |
expose_organization_country |
false |
Organization's country |
expose_organization_type |
false |
Organization type (SCHAC URN) |
expose_eduperson_assurance |
false |
REFEDS assurance level |
expose_civil_number |
false |
Civil/national ID number |
expose_birth_date |
false |
Date of birth |
expose_identity_source |
false |
Identity provider source |
Default Behavior
When no OfferingUserAttributeConfig exists for an offering, the system uses the DEFAULT_OFFERING_USER_ATTRIBUTES Constance setting, which defaults to:
1 | |
Staff can configure system-wide defaults via /api-auth/override-db-settings/:
1 2 3 4 5 6 | |
Permissions
- View: Users with
VIEW_OFFERINGpermission on the offering - Create/Update: Offering owner or customer owner
GDPR Compliance
This feature supports GDPR Article 13/14 compliance by:
- Data minimization: Only expose attributes necessary for the service
- Transparency: Configuration is accessible via API for audit
- Purpose limitation: Each offering declares its data processing needs
- Consent integration: Can be linked to
OfferingTermsOfServiceto show users what data is collected
Offering Configuration
An Offering represents a service or product that can be ordered through the Waldur marketplace. This document describes the configuration options available for offerings.
Overview
Offerings are created by service providers and define:
- What service is being offered (type, description, terms)
- How users can customize their orders (options)
- How provisioned resources can be modified (resource_options)
- Behavioral rules and constraints (plugin_options)
- Pricing structure (plans and components)
Data Flow: Options to Resource
Understanding how user input flows through the system:
flowchart LR
subgraph Offering["Offering (schema)"]
OO["options"]
RO["resource_options"]
end
subgraph Order["Order"]
OA["attributes"]
end
subgraph Resource["Resource"]
RA["attributes"]
ROPT["options"]
end
OO -->|"defines form"| OA
OA -->|"all values"| RA
OA -->|"filtered by"| RO
RO -->|"matching keys"| ROPT
style RA fill:#e1f5fe
style ROPT fill:#c8e6c9
| Step | What happens |
|---|---|
| 1 | offering.options defines the order form schema |
| 2 | User fills out the form, values become order.attributes |
| 3 | All attributes are copied to resource.attributes (immutable) |
| 4 | Only attributes matching keys in offering.resource_options are copied to resource.options |
| 5 | resource.options can be modified after provisioning (triggers UPDATE orders) |
Key Configuration Fields
options
Defines the input fields users fill out when creating an order. These values are stored in order.attributes and resource.attributes.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
Supported field types:
| Type | Description |
|---|---|
string |
Free text input |
text |
Multi-line text input |
integer |
Whole number |
money |
Decimal number for currency |
boolean |
True/false checkbox |
select_string |
Dropdown with string choices |
select_string_multi |
Multi-select dropdown |
date |
Date picker |
time |
Time picker |
html_text |
Rich text editor |
component_multiplier |
Links to component for billing |
resource_options
Defines which attributes can be modified after resource creation. When an order is created, attribute values matching keys defined here are copied to resource.options.
Important: The keys in resource_options.options act as a filter. Only attributes with matching keys are copied to resource.options and become modifiable.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Example flow:
- User orders with:
storage_data_type=Store,permissions=2770,hard_quota_space=10 resource.attributes={storage_data_type: "Store", permissions: "2770", hard_quota_space: 10}resource.options={permissions: "2770", hard_quota_space: 10}(only keys fromresource_options)storage_data_typeis NOT inresource.optionsbecause it's not inresource_options.options- User can later modify
permissionsandhard_quota_space, but NOTstorage_data_type
plugin_options
Defines behavioral rules, constraints, and provider-specific settings. This is where most operational configuration lives.
Plugin Options Reference
Approval and Auto-Processing
| Option | Type | Default | Description |
|---|---|---|---|
auto_approve_remote_orders |
boolean | false |
Skip provider approval for orders from external customers |
auto_approve_in_service_provider_projects |
boolean | false |
Skip consumer approval when ordering within the same organization |
disable_autoapprove |
boolean | false |
Force manual approval for all orders, overriding other auto-approve settings |
Example:
1 2 3 4 5 6 | |
Resource Constraints
| Option | Type | Default | Description |
|---|---|---|---|
maximal_resource_count_per_project |
integer | none | Maximum number of resources from this offering per project |
unique_resource_per_attribute |
string | none | Attribute name to enforce uniqueness. Only one non-terminated resource per attribute value per project |
minimal_team_count_for_provisioning |
integer | none | Minimum number of team members required in project |
required_team_role_for_provisioning |
string | none | Required role name (e.g., "PI") for user to provision |
Example - Storage offering with one resource per storage type:
1 2 3 4 5 6 | |
With this configuration:
- A project can have one "Store", one "Archive", one "Users", and one "Scratch" resource
- A project cannot have two "Store" resources (blocked by
unique_resource_per_attribute) - Total resources capped at 4 (defense in depth via
maximal_resource_count_per_project)
Resource Lifecycle
| Option | Type | Default | Description |
|---|---|---|---|
is_resource_termination_date_required |
boolean | false |
Require end date when ordering |
default_resource_termination_offset_in_days |
integer | none | Default days until termination from order date |
max_resource_termination_offset_in_days |
integer | none | Maximum days until termination allowed |
latest_date_for_resource_termination |
date | none | Hard deadline for all resource terminations |
resource_expiration_threshold |
integer | 30 |
Days before expiration to start warning users |
can_restore_resource |
boolean | false |
Allow restoring terminated resources |
supports_downscaling |
boolean | false |
Allow reducing resource limits |
supports_pausing |
boolean | false |
Allow pausing/resuming resources |
Example:
1 2 3 4 5 6 7 | |
Order Processing
| Option | Type | Default | Description |
|---|---|---|---|
create_orders_on_resource_option_change |
boolean | false |
Create UPDATE orders when resource_options change |
enable_purchase_order_upload |
boolean | false |
Allow users to attach purchase orders |
require_purchase_order_upload |
boolean | false |
Require purchase order attachment |
Display and UI
| Option | Type | Default | Description |
|---|---|---|---|
conceal_billing_data |
boolean | false |
Hide pricing/billing information from users |
highlight_backend_id_display |
boolean | false |
Emphasize backend ID in resource display |
backend_id_display_label |
string | none | Custom label for backend ID field |
Offering Users (Identity Management)
| Option | Type | Default | Description |
|---|---|---|---|
service_provider_can_create_offering_user |
boolean | false |
Allow provider to create offering-specific user accounts |
username_generation_policy |
string | "waldur_username" |
How usernames are generated: waldur_username, anonymized, service_provider, full_name, freeipa, eduteams |
initial_uidnumber |
integer | 5000 |
Starting UID for generated users |
initial_primarygroup_number |
integer | 5000 |
Starting GID for primary groups |
initial_usergroup_number |
integer | 6000 |
Starting GID for user groups |
homedir_prefix |
string | "/home/" |
Prefix for home directory paths |
username_anonymized_prefix |
string | "walduruser_" |
Prefix for anonymized usernames |
Plugin-Specific Options
OpenStack
| Option | Type | Description |
|---|---|---|
default_internal_network_mtu |
integer (68-9000) | MTU for tenant internal networks |
max_instances |
integer | Default instance limit per tenant |
max_volumes |
integer | Default volume limit per tenant |
max_security_groups |
integer | Default security group limit |
storage_mode |
"fixed" or "dynamic" |
How storage quota is calculated |
snapshot_size_limit_gb |
integer | Snapshot size limit in GB |
HEAppE (HPC)
| Option | Type | Description |
|---|---|---|
heappe_url |
URL | HEAppE server endpoint |
heappe_username |
string | Service account username |
heappe_password |
string | Service account password |
heappe_cluster_id |
integer | Target cluster ID |
project_permanent_directory |
string | Persistent project directory path |
scratch_project_directory |
string | Temporary scratch directory path |
GLAuth (LDAP)
| Option | Type | Description |
|---|---|---|
glauth_records_path |
string | Path to GLAuth user records |
glauth_users_path |
string | Path to GLAuth users configuration |
Rancher (Kubernetes)
See Rancher plugin documentation for detailed Rancher-specific options.
Complete Example
A storage offering with comprehensive configuration:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
Validation Behavior
Order Creation Validation
When an order is created, the following plugin_options are validated:
maximal_resource_count_per_project: Counts non-terminated resources for the project+offeringunique_resource_per_attribute: Checks if a non-terminated resource with the same attribute value existsminimal_team_count_for_provisioning: Validates project team sizerequired_team_role_for_provisioning: Validates user has required role
Approval Flow
The approval flow is determined by:
- If
disable_autoapproveistrue, manual approval is always required - If ordering within same organization and
auto_approve_in_service_provider_projectsistrue, consumer approval is skipped - If
auto_approve_remote_ordersistrue, provider approval is skipped for external customers - Staff users bypass most approval requirements
Role-based Access Control (RBAC)
Overview
Waldur implements a comprehensive Role-Based Access Control (RBAC) system that determines what actions users can perform within the platform. The authorization system consists of three core components:
- Permissions - Unique strings that designate specific actions (e.g.,
OFFERING.CREATE,PROJECT.UPDATE) - Roles - Named collections of permissions (e.g.,
CUSTOMER.OWNER,PROJECT.ADMIN) - User Roles - Assignments linking users to roles within specific scopes
This functionality is implemented in the waldur_core.permissions application and provides fine-grained access control across all platform resources.
First thing to remember is to use PermissionEnum to define permissions instead of using plain string or standalone named constant, otherwise they would not be pushed to frontend.
1 2 3 4 5 | |
Next, let's assign that permissions to role.
1 2 3 4 5 6 | |
Now, let's assign customer owner role to particular user and customer:
1 2 3 4 5 6 7 8 | |
Finally, we can check whether user is allowed to create offering in particular organization.
1 2 3 4 | |
Please note that this function accepts not only customer, but also project and offering as a scope. Consider these models as authorization aggregates. Other models, such as resources and orders, should refer to these aggregates to perform authorization check. For example:
1 | |
Core Concepts
Authorization Scopes
Waldur supports multiple authorization scopes, each representing a different organizational level:
| Scope Type | Model | Description |
|---|---|---|
| Customer | structure.Customer |
Organization-level permissions |
| Project | structure.Project |
Project-level permissions within an organization |
| Offering | marketplace.Offering |
Service offering permissions |
| Service Provider | marketplace.ServiceProvider |
Provider-level permissions |
| Call Organizer | proposal.CallManagingOrganisation |
Organization managing calls for proposals |
| Call | proposal.Call |
Call for proposals permissions |
| Proposal | proposal.Proposal |
Individual proposal permissions |
System Roles
The platform includes several predefined system roles:
Customer Roles
CUSTOMER.OWNER- Full control over the organizationCUSTOMER.SUPPORT- Support access to organization resourcesCUSTOMER.MANAGER- Management capabilities for service providers
Project Roles
PROJECT.ADMIN- Full project administrationPROJECT.MANAGER- Project management capabilitiesPROJECT.MEMBER- Basic project member access
Offering Roles
OFFERING.MANAGER- Manage marketplace offerings
Call/Proposal Roles
CALL.REVIEWER- Review proposals in callsCALL.MANAGER- Manage calls for proposalsPROPOSAL.MEMBER- Proposal team memberPROPOSAL.MANAGER- Proposal management
Role Features
Time-based Roles
Roles can have expiration times, allowing for temporary access:
1 2 3 4 5 6 7 8 9 10 | |
Role Revocation
Roles can be explicitly revoked before expiration:
1 2 3 4 5 6 7 8 | |
Migration example
Previously we have relied on hard-coded roles, such as customer owner and project manager. Migration to dynamic roles on backend is relatively straightforward process. Consider the following example.
1 2 | |
As you may see, we have relied on selectors with hard-coded roles. The main drawback of this approach is that it is very hard to inspect who can do what without reading all source code. And it is even hard to adjust this behaviour. Contrary to its name, by using dynamic roles we don't need to care much about roles though.
1 2 3 4 5 6 7 | |
Here we use permission_factory function which accepts permission string and list of paths to scopes, either customer, project or offering. It returns function which accepts request and raises an exception if user doesn't have specified permission in roles connected to current user and one of these scopes.
Permissions for viewing
Usually it is implemented filter backend, such as GenericRoleFilter, which in turn uses get_connected_customers and get_connected_projects function because customer and project are two main permission aggregates.
1 2 3 4 5 6 | |
Although this approach works fine for trivial use cases, often enough permission filtering logic is more involved and we implement get_queryset method instead.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Permissions for object creation and update
Usually it is done in serializer's validate method.
1 2 3 4 5 6 7 8 9 10 | |
Permission Checking Utilities
Core Functions
has_permission(request, permission, scope)
Checks if a user has a specific permission in a given scope:
1 2 3 4 5 6 7 | |
Note: Staff users automatically pass all permission checks.
permission_factory(permission, sources=None)
Creates a permission checker function for use in ViewSets:
1 2 3 4 5 6 7 8 9 10 | |
The sources parameter specifies paths to traverse from the current object to find the scope.
User and Role Management
Getting Users with Roles
1 2 3 4 5 6 7 8 9 10 | |
Counting Users
Use count_users to get an exact count of unique users with roles in a scope (avoids double-counting users with multiple roles):
1 2 3 4 | |
Managing User Roles
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
User Restriction Validation
Use validate_user_restrictions to ensure users match scope-specific restrictions before granting roles:
1 2 3 4 5 6 7 8 | |
The function checks:
- Email patterns: User email must match at least one pattern (e.g.,
*@example.com) - Affiliations: User must have at least one matching affiliation
- Identity sources: User must have a matching identity source
For Projects, it also validates against parent Customer restrictions. User must match restrictions at each level.
Filtering by Permissions
Using get_connected_customers and get_connected_projects
These functions return all customers/projects where the user has any role:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Permission Categories
Note on Naming Convention: - Enum names (used in code):
PermissionEnum.CREATE_OFFERING- Permission values (stored in database, shown in tables below):"OFFERING.CREATE"The enum name follows
ACTION_OBJECTpattern while the value followsOBJECT.ACTIONpattern.
Offering Permissions
| Permission | Description |
|---|---|
OFFERING.CREATE |
Create new offerings |
OFFERING.UPDATE |
Update offering details |
OFFERING.DELETE |
Delete offerings |
OFFERING.PAUSE/UNPAUSE |
Control offering availability |
OFFERING.MANAGE_USER_GROUP |
Manage offering user groups |
Resource Permissions
| Permission | Description |
|---|---|
RESOURCE.TERMINATE |
Terminate resources |
RESOURCE.SET_USAGE |
Report resource usage |
RESOURCE.SET_LIMITS |
Update resource limits |
RESOURCE.SET_STATE |
Change resource state |
Order Permissions
| Permission | Description |
|---|---|
ORDER.LIST |
View orders |
ORDER.APPROVE |
Approve orders |
ORDER.REJECT |
Reject orders |
ORDER.CANCEL |
Cancel orders |
Project/Customer Permissions
| Permission | Description |
|---|---|
PROJECT.CREATE |
Create projects |
PROJECT.UPDATE |
Update project details |
PROJECT.DELETE |
Delete projects |
CUSTOMER.CREATE |
Create customers |
CUSTOMER.UPDATE |
Update customer details |
Service Account Permissions
| Permission | Description |
|---|---|
SERVICE_ACCOUNT.MANAGE |
Manage service accounts |
Course Account Permissions
| Permission | Description |
|---|---|
PROJECT.COURSE_ACCOUNT_MANAGE |
Manage course accounts in projects |
OpenStack Instance Permissions
| Permission | Description |
|---|---|
OPENSTACK_INSTANCE.CONSOLE_ACCESS |
Access OpenStack instance console |
OPENSTACK_INSTANCE.MANAGE_POWER |
Manage OpenStack instance power state |
OPENSTACK_INSTANCE.MANAGE |
Full OpenStack instance management |
Offering User Permissions
| Permission | Description |
|---|---|
OFFERINGUSER.UPDATE_RESTRICTION |
Update offering user restrictions |
Best Practices
1. Always Use PermissionEnum
Define permissions in PermissionEnum to ensure they're properly registered and available to the frontend:
1 2 3 4 5 6 | |
2. Use Appropriate Scopes
Choose the right scope for permission checks:
1 2 3 4 5 6 7 8 | |
3. Implement Proper Permission Chains
When checking permissions on nested resources, traverse to the appropriate scope:
1 2 3 4 5 | |
4. Use Filter Backends for List Views
For list endpoints, use GenericRoleFilter or implement custom filtering:
1 2 | |
5. Audit Role Changes
Role changes are automatically logged via signals (role_granted, role_updated, role_revoked) with enhanced context including initiator and reason. Always pass current_user and optional reason for clear audit trails:
1 2 3 4 5 6 7 | |
Enhanced Logging Context
All role change logs now include:
initiated_by: Shows either "System" (for automatic operations) or "User Name (username)" (for manual operations)reason: Specific reason for the change, with automatic defaults:- Manual API operations:
"Manual role assignment/removal/update via API" - Automatic expiration:
"Automatic expiration"or"Automatic expiration cleanup task" - Project deletion:
"Project deletion cascade" - Scope changes:
"Project moved to different customer","Offering moved to different provider"
Common Automatic Reasons
The system automatically assigns these reasons when not explicitly provided:
| Scenario | Default Reason |
|---|---|
API user operations with current_user |
"Manual [operation] via API" |
| Expiration task | "Automatic expiration cleanup task" |
| Project deletion | "Project deletion cascade" |
| Role expiration detection | "Automatic expiration" |
System operations without current_user |
"System-initiated [operation]" |
6. Performance and Accuracy Guidelines
Exact User Counting
When counting users across roles, always use exact calculations to avoid double-counting users with multiple roles:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Query Optimization
Use Django ORM efficiently for permission-related queries:
1 2 3 4 5 6 7 8 | |
Error Handling Best Practices
Handle edge cases gracefully in permission checking:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
7. Time-based Role Best Practices
Default Parameter Behavior
The has_user function has specific behavior for the expiration_time parameter:
1 2 3 4 5 6 7 8 9 | |
API Design Consistency
When designing permission-related APIs:
- Default parameters should match the most common use case
- Error types should be consistent:
AttributeErrorfor configuration/code errors (invalid attribute paths)PermissionDeniedfor access control failuresValidationErrorfor user input errors
Testing and Debugging Permissions
Testing Permission Logic
When writing tests for permission functionality:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Performance Testing
Monitor query counts for permission-related operations:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Debugging Permission Issues
When debugging permission problems:
- Check role assignments:
1 2 3 | |
- Verify permission assignments:
1 2 3 4 | |
- Test permission paths:
1 2 3 4 5 6 7 8 | |
- Enable verbose logging:
1 2 | |
Common Issues and Solutions
Issue: User count approximations
Problem: Double-counting users with multiple roles
Solution: Always use distinct() on user_id when counting across multiple role assignments
Issue: Permission factory AttributeError
Problem: Invalid attribute paths in permission_factory sources
Solution: Verify object relationships and use try/catch for graceful error handling
Issue: Performance degradation in role filtering
Problem: N+1 queries when checking permissions for many objects
Solution: Use select_related() and prefetch_related() to optimize database queries
Issue: Time-based role confusion
Problem: Unclear behavior of has_user with different expiration_time parameters
Solution: Understand the three modes:
expiration_time=False(default): Any active roleexpiration_time=None: Only permanent rolesexpiration_time=datetime: Roles active at specific time
Project Model Lifecycle and Relationships
Overview
The Project model is a central organizing entity in Waldur that represents a logical container for resources within a customer organization. Projects provide isolation, access control, quota management, and billing organization for all provisioned resources and services.
Project Model Structure
The Project model combines multiple mixins and base classes to provide comprehensive functionality:
Core Inheritance Hierarchy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Key Fields
| Field | Type | Purpose |
|---|---|---|
name |
CharField(500) | Project name with extended length |
customer |
ForeignKey | Parent organization relationship |
start_date |
DateField | Project start date (optional) |
end_date |
DateField | Automatic termination date |
end_date_requested_by |
ForeignKey(User) | User who set end date |
type |
ForeignKey(ProjectType) | Project categorization |
kind |
CharField | Project kind (DEFAULT, COURSE, PUBLIC) |
termination_metadata |
JSONField | Recovery metadata for terminated projects |
user_email_patterns |
JSONField | Regex patterns for allowed user emails |
user_affiliations |
JSONField | List of allowed user affiliations |
user_identity_sources |
JSONField | List of allowed identity providers |
Project Lifecycle
stateDiagram-v2
[*] --> Creating : Project created
Creating --> Active : Successfully provisioned
Active --> Active : Normal operations
Active --> EndDateSet : End date configured
EndDateSet --> Active : End date cleared
EndDateSet --> Expired : End date reached
Active --> SoftDeleted : Soft deletion (_soft_delete)
Expired --> SoftDeleted : Terminated due to expiration
SoftDeleted --> HardDeleted : Hard deletion (delete(soft=False))
SoftDeleted --> Recovered : Restore from termination_metadata
HardDeleted --> [*]
Project States
Projects use soft deletion with the is_removed flag from SoftDeletableModel:
- Active: Normal operational state (
is_removed=False) - Soft Deleted: Marked as deleted but recoverable (
is_removed=True) - Hard Deleted: Permanently removed from database
Lifecycle Events
Creation Process
- Handler:
create_project_metadata_completion - Trigger:
post_savesignal on project creation - Action: Creates
ChecklistCompletionfor customer's project metadata checklist
Termination Process
- Handler:
revoke_roles_on_project_deletion - Trigger:
pre_deletesignal before project deletion - Actions:
- Captures user role snapshots in
termination_metadata - Revokes all project permissions
- Updates customer user count quotas
End Date Management
Projects can have automatic termination configured:
end_date: When reached, resources scheduled for terminationend_date_requested_by: Tracks who set the end dateis_expiredproperty: Checks if current date >= end_date
Connected Models and Relationships
erDiagram
Customer ||--o{ Project : "contains"
Project ||--o{ BaseResource : "hosts"
Project ||--o{ UserRole : "has permissions"
Project ||--o{ "Marketplace Resource" : "contains"
Project ||--|| ChecklistCompletion : "metadata"
Project }o--|| ProjectType : "categorized by"
Project ||--o{ ProjectPermissionReview : "reviewed"
Customer {
id int PK
name varchar
abbreviation varchar
uuid uuid
accounting_start_date datetime
blocked boolean
archived boolean
project_metadata_checklist_id int FK
}
Project {
id int PK
uuid uuid
name varchar
customer_id int FK
start_date date
end_date date
kind varchar
is_removed boolean
termination_metadata json
}
BaseResource {
id int PK
uuid uuid
name varchar
project_id int FK
service_settings_id int FK
backend_id varchar
state varchar
}
UserRole {
id int PK
uuid uuid
user_id int FK
role_id int FK
scope_type varchar
scope_id int
is_active boolean
expiration_time datetime
}
Customer Relationship
Model: Customer
- Relationship: One-to-many (Customer → Projects)
- Field:
project.customer(CASCADE deletion)
Project Metadata Integration:
- Customers can configure
project_metadata_checklist - Automatically creates
ChecklistCompletionfor new projects - Manages metadata collection workflow
User Permissions
Model: UserRole
Projects use the permissions system through generic foreign keys:
- Scope: Project instance
- Roles: PROJECT_ADMIN, PROJECT_MANAGER, PROJECT_MEMBER
User Restrictions
Projects can restrict which users can be added as members based on email patterns, affiliations, or identity sources. These restrictions are enforced during:
- Direct membership via API (
add_userendpoint) - Invitation acceptance
- GroupInvitation request approval
Restriction Fields:
| Field | Description |
|---|---|
user_email_patterns |
Regex patterns for allowed emails (e.g., [".*@university.edu"]) |
user_affiliations |
List of allowed affiliations (e.g., ["staff", "faculty"]) |
user_identity_sources |
List of allowed identity providers (e.g., ["eduGAIN", "SAML"]) |
Validation Logic:
- OR within restrictions: User matches if ANY email pattern OR ANY affiliation OR ANY identity source matches
- AND with parent: Project restrictions are checked AFTER customer restrictions pass
- Empty allows all: If no restrictions are set, any user is allowed
- Staff NOT exempt: Restrictions apply to all users including staff
Permission to Set Restrictions:
Only users with CREATE_PROJECT permission on the customer can set or modify project user restrictions.
For detailed documentation on user restrictions, see Invitations - User Restrictions.
Resource Management
Base Model: BaseResource
All resources are connected to projects:
- Relationship: One-to-many (Project → Resources)
- Field:
resource.project(CASCADE deletion) - Permission Inheritance: Resources inherit project permissions
Marketplace Integration:
- Model:
marketplace.models.Resource - Relationship: Through
scopegeneric foreign key - Billing: Resources track costs through marketplace
Service Settings
Model: ServiceSettings (src/waldur_core/structure/models.py:961-1049)
- Relationship: Resources connect to projects through service settings
- Types: Shared (global) or Private (customer-specific)
- Backend Integration: Provides API credentials and configuration
Event Flow and Logging
Signal Handlers
Key signal connections:
1 2 3 4 5 6 7 | |
Event Types
| Event | Trigger | Context |
|---|---|---|
PROJECT_CREATION_SUCCEEDED |
Project created | {project: instance} |
PROJECT_UPDATE_SUCCEEDED |
Project updated | {project: instance} |
PROJECT_DELETION_SUCCEEDED |
Project deleted | {project: instance} |
Termination Metadata
When projects are terminated, certain metadata is stored for recovery:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Conflict of Interest (COI) Detection System
The Waldur proposal module includes an automated Conflict of Interest detection system that identifies potential conflicts between reviewers and proposals. This ensures fair and unbiased peer review processes.
Architecture Overview
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | |
Detection Algorithms
The system runs three detection algorithms for each reviewer-proposal pair:
1. Named Personnel Detection
Checks if the reviewer is named in the proposal team. This is considered a real conflict that requires automatic recusal.
Match criteria:
- User ID match (most reliable)
- ORCID identifier match
- Email address match
- Fuzzy name match (threshold: 90% similarity)
- Alternative names match
2. Institutional Affiliation Detection
Identifies conflicts based on organizational affiliations between reviewers and applicant institutions.
Detection rules:
| Scenario | COI Type | Severity |
|---|---|---|
| Current same institution | INST_SAME |
Real |
| Former institution (within lookback) | INST_FORMER |
Apparent |
| Same department | INST_DEPT |
Apparent |
3. Co-authorship Detection
Analyzes shared publications between reviewers and proposal team members.
Matching logic:
- Get reviewer's publications within the lookback period
- Extract coauthors from each publication
- Compare against proposal team members using:
- ORCID matching (most reliable)
- Fuzzy name matching (threshold: 85%)
Severity determination:
- Recent co-authorship (last year) + 3+ papers → Real conflict
- Older co-authorship or fewer papers → Apparent conflict
COI Types
| Type Code | Description | Severity |
|---|---|---|
ROLE_NAMED |
Reviewer is named in proposal personnel | Real |
INST_SAME |
Same current institution as applicant | Real |
INST_FORMER |
Former institution overlap within lookback | Apparent |
INST_DEPT |
Same department affiliation | Apparent |
COAUTH_RECENT |
Recent co-authored papers | Apparent |
COAUTH_OLD |
Older co-authored papers | Potential |
FIN_DIRECT |
Direct financial interest | Real |
REL_FAMILY |
Family relationship | Real |
REL_MENTOR |
Mentor/mentee relationship | Real |
REL_SUPERVISOR |
Supervisor/supervisee relationship | Real |
COLLAB_ACTIVE |
Active collaboration | Real |
COLLAB_GRANT |
Shared grant funding | Apparent |
REL_EDITORIAL |
Editorial relationship | Apparent |
COMPET |
Competitive relationship | Apparent |
ROLE_CONF |
Conference organizer relationship | Apparent |
INST_CONSORT |
Consortium membership | Potential |
CONF_ATTEND |
Conference participation | Potential |
SOC_MEMBER |
Professional society membership | Potential |
Severity Levels
| Level | Description | Action Required |
|---|---|---|
| Real | Must recuse from review | Reviewer cannot participate |
| Apparent | Requires management | May proceed with management plan |
| Potential | Disclosure only | Document and monitor |
Status Workflow
1 2 3 4 5 6 7 8 9 10 11 | |
Status Descriptions
| Status | Description | Use Case |
|---|---|---|
| PENDING | Awaiting manager review | Initial state for all detected conflicts |
| DISMISSED | Not a valid conflict | False positive or outdated information |
| WAIVED | Allowed with management plan | Conflicts where reviewer may proceed with mitigation |
| RECUSED | Reviewer removed from assignment | Serious conflicts requiring removal |
Configuration
Each call can have its own COI detection configuration via CallCOIConfiguration:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Invitation Proposal Disclosure Levels
The invitation_proposal_disclosure setting controls what proposal information reviewers see when receiving invitations:
| Level | Description | Use Case |
|---|---|---|
titles_only |
Only proposal titles shown | Maximum confidentiality |
titles_and_summaries |
Titles and project summaries | Balanced approach |
full_details |
Complete proposal details | Full transparency |
This helps reviewers identify potential conflicts before accepting invitations.
Data Sources
The detection system uses data from multiple sources:
Reviewer Data
1 2 3 4 5 | |
Proposal Data
1 2 3 4 5 | |
API Endpoints
Trigger COI Detection
1 | |
Creates a COIDetectionJob and queues background processing.
View Conflicts for a Call
1 | |
Returns all detected conflicts for the call.
Manage Individual Conflicts
1 2 3 | |
Background Processing
COI detection runs as a Celery background task to handle large reviewer pools:
1 2 3 4 5 6 7 8 | |
Job States
| State | Description |
|---|---|
PENDING |
Job created, waiting for worker |
RUNNING |
Detection in progress |
COMPLETED |
All pairs processed successfully |
FAILED |
Error occurred during processing |
CANCELLED |
Job cancelled by user |
Progress Tracking
The job tracks progress during execution:
total_pairs: Total reviewer-proposal pairs to checkprocessed_pairs: Pairs checked so farconflicts_found: Number of conflicts detected
Evidence Storage
Each detected conflict stores structured evidence:
1 2 3 4 5 6 7 8 9 | |
Integration with Review Assignment
COI detection integrates with the review assignment workflow:
- Before assigning reviewers, check for confirmed/recused conflicts
- Reviewers with real conflicts are excluded from assignment pool
- Reviewers with waived conflicts may be assigned with oversight
Self-Disclosure
The system supports two types of self-disclosed conflicts:
Periodic General Disclosures
Reviewers can submit periodic disclosure forms (annual, call-level) for general conflicts:
1 2 3 4 5 6 | |
These forms track general financial interests and relationships with valid_until expiry.
Proposal-Specific Conflicts at Invitation Acceptance
When accepting a reviewer invitation, reviewers can optionally declare conflicts with specific proposals. This creates ConflictOfInterest records (not disclosure forms):
1 2 3 4 5 6 7 8 9 10 | |
Key differences from periodic disclosures:
| Aspect | COIDisclosureForm | ConflictOfInterest (self-disclosed) |
|---|---|---|
| Scope | General/call-level | Specific proposal |
| Timing | Periodic/annual | At invitation acceptance |
| Fields | valid_until, is_current |
proposal, coi_type, severity |
| Detection method | N/A | self_disclosed |
Self-declared conflict workflow:
- Reviewer receives invitation with proposal list
- Reviews proposals (based on
invitation_proposal_disclosuresetting) - Optionally declares conflicts with specific proposals
- Accepts invitation (NOT blocked by declared conflicts)
- Manager reviews self-declared conflicts via normal COI management
Best Practices
- Run detection early: Trigger COI detection as soon as the reviewer pool is finalized
- Review pending conflicts: Don't leave conflicts in pending status
- Document waivers: Always provide management plans for waived conflicts
- Update reviewer profiles: Ensure reviewer publications and affiliations are current
- Configure appropriately: Adjust lookback periods based on field norms
Related Documentation
- Proposals Overview - Complete proposal module documentation
- Reviewer-Proposal Matching - Affinity scoring and assignment algorithms
- Review System - Review assignment and scoring
Call Eligibility and Applicant Attribute Configuration
Waldur's proposal module supports AAI-based eligibility restrictions and GDPR-compliant applicant attribute exposure configuration. This enables call managers to control who can submit proposals and what applicant data is visible during the review process.
Call Eligibility Restrictions
Calls for proposals can define eligibility restrictions based on user attributes sourced from identity providers (IdPs). This ensures only qualified applicants from specific institutions, countries, or assurance levels can submit proposals.
Architecture Overview
flowchart TD
subgraph "User Profile (from IdP)"
U[User]
U --> N[nationality/nationalities]
U --> O[organization_type]
U --> A[eduperson_assurance]
U --> E[email]
U --> AF[affiliations]
U --> IS[identity_source]
end
subgraph "Call Restrictions"
C[Call]
C --> RN[user_nationalities]
C --> RO[user_organization_types]
C --> RA[user_assurance_levels]
C --> RE[user_email_patterns]
C --> RAF[user_affiliations]
C --> RIS[user_identity_sources]
end
subgraph "Eligibility Check"
EC{Validate}
EC -->|Pass| ALLOW[Allow Submission]
EC -->|Fail| DENY[Deny with Restrictions]
end
U --> EC
C --> EC
Restriction Fields
| Field | Type | Logic | Description |
|---|---|---|---|
user_nationalities |
JSON array | OR | User must have at least one matching nationality (ISO 3166-1 alpha-2) |
user_organization_types |
JSON array | OR | User's organization type must match one (SCHAC URN) |
user_assurance_levels |
JSON array | AND | User must have ALL specified assurance levels (REFEDS) |
user_email_patterns |
JSON array | OR | User's email must match at least one regex pattern |
user_affiliations |
JSON array | OR | User must have at least one matching affiliation |
user_identity_sources |
JSON array | OR | User must authenticate via one of the specified IdPs |
Restriction Logic
- Basic restrictions (email patterns, affiliations, identity sources) use OR logic
- AAI restrictions (nationalities, organization types) use OR logic
- Assurance levels use AND logic - user must have ALL required levels
- All configured restriction categories must pass (AND between categories)
API Endpoints
Check Eligibility
Check if the current user can submit to a call:
1 2 | |
Response (eligible):
1 2 3 4 | |
Response (not eligible):
1 2 3 4 5 6 7 | |
Configure Restrictions
Call managers can configure restrictions when creating or updating a call:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Examples
Nordic Universities Only
1 2 3 4 5 6 7 | |
High Assurance Required
1 2 3 4 5 6 | |
Specific Federation Members
1 2 3 4 | |
Applicant Attribute Exposure Configuration
The CallApplicantAttributeConfig model controls which applicant attributes are visible to call managers and reviewers. This supports GDPR compliance and anonymous review workflows.
Overview
flowchart LR
subgraph "Applicant Profile"
AP[Applicant User]
AP --> |has| A1[full_name]
AP --> |has| A2[email]
AP --> |has| A3[organization]
AP --> |has| A4[affiliations]
AP --> |has| A5[nationality]
AP --> |has| A6[assurance]
end
subgraph "Call Config"
CC[CallApplicantAttributeConfig]
CC --> |expose_full_name| E1[true]
CC --> |expose_email| E2[true]
CC --> |expose_organization| E3[true]
CC --> |expose_nationality| E4[false]
CC --> |reviewers_see_details| RV[false]
end
subgraph "Visibility"
MG[Call Managers]
RW[Reviewers]
MG --> |see| V1[name, email, org]
RW --> |see| V2[anonymous]
end
AP --> CC
CC --> MG
CC --> RW
Configuration Fields
| Field | Default | Description |
|---|---|---|
expose_full_name |
true | Show applicant's full name |
expose_email |
true | Show applicant's email address |
expose_organization |
true | Show applicant's organization |
expose_affiliations |
false | Show applicant's affiliations list |
expose_organization_type |
false | Show organization type (SCHAC URN) |
expose_organization_country |
false | Show organization's country |
expose_nationality |
false | Show primary nationality |
expose_nationalities |
false | Show all nationalities |
expose_country_of_residence |
false | Show country of residence |
expose_eduperson_assurance |
false | Show assurance levels |
expose_identity_source |
false | Show identity provider |
reviewers_see_applicant_details |
false | If false, proposals are anonymized for reviewers |
API Endpoints
Get Attribute Configuration
1 2 | |
Response (custom config):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Response (no config - defaults):
1 2 3 4 | |
Create/Update Configuration
1 2 3 4 5 6 7 8 9 10 11 12 | |
Delete Configuration (Revert to Defaults)
1 2 | |
Returns 204 No Content on success.
Permissions
All attribute configuration endpoints require UPDATE_CALL permission on the call.
Use Cases
Anonymous Peer Review
For double-blind review processes:
1 2 3 4 5 6 | |
Call managers still see full applicant details, but reviewers see anonymized proposals.
Nationality-Based Eligibility Tracking
For calls requiring nationality verification:
1 2 3 4 5 | |
Combined with eligibility restrictions:
1 2 3 | |
High-Trust Research Calls
For calls requiring strong identity assurance:
1 2 3 4 5 | |
With attribute exposure for verification:
1 2 3 4 | |
Integration with User Profile Attributes
The eligibility and attribute exposure features build on Waldur's extended user profile attributes. See User Profile Attributes for details on:
- AAI attribute sources (OIDC claims)
- ISO and SCHAC standards
- REFEDS assurance profiles
Related Documentation
- Proposals Overview - Core proposal module architecture
- Conflict of Interest Detection - COI management
- Reviewer Matching - Reviewer assignment algorithms
- User Profile Attributes - User attribute reference
Reviewer-Proposal Matching System
The Waldur proposal module includes an automated reviewer-proposal matching system that computes expertise affinity scores and generates optimal reviewer assignments. This ensures qualified reviewers are matched with proposals in their area of expertise.
Architecture Overview
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | |
Affinity Scoring Methods
The system computes affinity scores between reviewers and proposals using configurable methods.
Keyword-Based Scoring
Matches reviewer expertise keywords against proposal text content.
How it works:
- Extracts reviewer's expertise keywords with proficiency weights
- Searches proposal text (title, summary, description) for keyword matches
- Calculates weighted match score
Proficiency weights:
| Proficiency Level | Weight |
|---|---|
| Expert | 1.0 |
| Familiar | 0.7 |
| Basic | 0.3 |
1 2 3 4 5 6 7 8 9 10 | |
TF-IDF Text Similarity
Computes semantic similarity between reviewer expertise and proposal content using Term Frequency-Inverse Document Frequency (TF-IDF) vectors.
Reviewer text sources:
- Expertise keywords (weighted by proficiency)
- Recent publication titles and abstracts (last 5 years)
- Biography text
Proposal text sources:
- Proposal name/title
- Project summary
- Project description
Algorithm:
- Tokenize text (lowercase, remove stopwords)
- Compute TF-IDF vectors for reviewer and proposal
- Calculate cosine similarity between vectors
1 2 3 4 5 6 | |
Combined Method
Default method that combines keyword and text-based scoring with configurable weights.
1 2 3 4 5 | |
Matching Configuration
Each call can have its own matching configuration via MatchingConfiguration:
| Field | Type | Default | Description |
|---|---|---|---|
affinity_method |
choice | combined |
Scoring method: keyword, tfidf, or combined |
keyword_weight |
float | 0.4 | Weight for keyword scoring (0-1) |
text_weight |
float | 0.6 | Weight for TF-IDF scoring (0-1) |
min_reviewers_per_proposal |
int | 3 | Minimum reviewers per proposal |
max_reviewers_per_proposal |
int | 5 | Maximum reviewers per proposal |
min_proposals_per_reviewer |
int | 3 | Minimum proposals per reviewer |
max_proposals_per_reviewer |
int | 10 | Maximum proposals per reviewer |
algorithm |
choice | minmax |
Assignment algorithm |
min_affinity_threshold |
float | 0.1 | Minimum affinity for suggestions |
use_reviewer_bids |
bool | true | Consider reviewer preferences |
bid_weight |
float | 0.3 | Weight for reviewer bids |
Validation: keyword_weight + text_weight must equal 1.0
Assignment Algorithms
Three algorithms are available for computing optimal reviewer-proposal assignments:
MinMax (Balanced Load)
Balances reviewer workload while maximizing total affinity.
Characteristics:
- Prioritizes even distribution of reviews
- Good for calls with many proposals and limited reviewers
- Prevents reviewer overload
FairFlow (Quality Threshold)
Ensures minimum quality threshold for all assignments.
Characteristics:
- Only assigns pairs above
min_affinity_threshold - Better match quality at cost of some assignments
- Useful for specialized domains
Hungarian (Global Optimum)
Finds globally optimal assignment maximizing total affinity.
Characteristics:
- Optimal solution for the assignment problem
- May result in uneven workload distribution
- Best for small to medium-sized calls
Reviewer Bids
Reviewers can express preferences for reviewing specific proposals:
| Bid Value | Weight | Description |
|---|---|---|
eager |
+1.0 | Reviewer wants to review this proposal |
willing |
+0.5 | Reviewer is willing to review |
not_willing |
-0.5 | Reviewer prefers not to review |
conflict |
-1.0 | Reviewer has conflict of interest |
When use_reviewer_bids is enabled, bid weights are incorporated into the final affinity score:
1 | |
Reviewer Discovery Workflow
The system supports two paths for finding reviewers:
Path A: Algorithm-Based Discovery
For reviewers with published profiles:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
Path B: Direct Email Invitation
For reviewers without existing profiles:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Reviewer Profile Visibility
Reviewer profiles have visibility controls:
| Field | Default | Description |
|---|---|---|
is_published |
false | Profile discoverable by algorithm |
available_for_reviews |
true | Currently accepting review requests |
published_at |
null | When profile was published |
Visibility rules:
- Own profile: Always visible to the profile owner
- Pool members: Managers see ACCEPTED pool members only
- Suggestions: Managers see full profile in suggestion list
- Discovery: Algorithm only considers published + available profiles
Suggestion Status Workflow
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
API Endpoints
Affinity Computation
1 | |
Computes affinity scores for all reviewer-proposal pairs in the call.
Response:
1 2 3 4 5 | |
Get Affinity Matrix
1 | |
Returns the complete affinity matrix for visualization.
Response:
1 2 3 4 5 6 7 8 9 10 11 | |
Generate Suggestions
1 | |
Runs affinity algorithm on all published profiles to generate reviewer suggestions.
Response:
1 2 3 4 5 | |
View Suggestions
1 | |
Lists all suggestions for a call with affinity scores.
Filter parameters:
status: Filter by status (pending,confirmed,rejected,invited)min_affinity_score: Minimum affinity score (0-1)reviewer_uuid: Filter by specific reviewer
Manage Suggestions
1 2 | |
Manager confirms or rejects suggestions. Rejection requires a reason.
Send Invitations
1 | |
Sends invitations to all confirmed suggestions.
Invite by Email
1 | |
Invites a reviewer by email address (profile not required initially).
Request:
1 2 3 4 5 | |
View Invitation Details
1 | |
Returns invitation details for reviewers to review before accepting.
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Accept Invitation
1 | |
Accepts an invitation with optional COI self-declaration.
Request:
1 2 3 4 5 6 7 8 9 10 | |
Notes:
declared_conflictsis optional- Creates
ConflictOfInterestrecords withdetection_method='self_disclosed' - Acceptance NOT blocked by declared conflicts (manager handles via COI workflow)
- For email invitations, requires published profile first
Decline Invitation
1 | |
Declines a reviewer invitation.
Request:
1 2 3 | |
Manage Reviewer Bids
1 2 3 | |
Manage reviewer preferences for proposals.
Data Models
ReviewerProposalAffinity
Cached affinity scores between reviewers and proposals.
| Field | Type | Description |
|---|---|---|
call |
FK | Call for this affinity |
reviewer |
FK | Reviewer profile |
proposal |
FK | Proposal |
affinity_score |
float | Combined score (0-1) |
keyword_score |
float | Keyword-based score |
text_score |
float | TF-IDF score |
ReviewerSuggestion
Algorithm-generated reviewer suggestions.
| Field | Type | Description |
|---|---|---|
call |
FK | Call for suggestion |
reviewer |
FK | Suggested reviewer profile |
affinity_score |
float | Combined score (0-1) |
keyword_score |
float | Keyword match score |
text_score |
float | Text similarity score |
status |
choice | pending/confirmed/rejected/invited |
reviewed_by |
FK | Manager who reviewed |
reviewed_at |
datetime | When reviewed |
rejection_reason |
text | Reason for rejection |
ProposedAssignment
Final reviewer assignments from matching algorithm.
| Field | Type | Description |
|---|---|---|
call |
FK | Call for assignment |
reviewer |
FK | Assigned reviewer |
proposal |
FK | Assigned proposal |
affinity_score |
float | Score at assignment time |
algorithm_used |
choice | minmax/fairflow/hungarian |
rank |
int | Assignment priority (1=best) |
is_deployed |
bool | Assignment finalized |
deployed_at |
datetime | When deployed |
deployed_by |
FK | Who deployed |
ReviewerBid
Reviewer preferences for proposals.
| Field | Type | Description |
|---|---|---|
call |
FK | Call |
reviewer |
FK | Reviewer profile |
proposal |
FK | Proposal |
bid |
choice | eager/willing/not_willing/conflict |
comment |
text | Optional explanation |
Integration with COI Detection
The matching system integrates with Conflict of Interest Detection:
- Before computing suggestions, COI status is checked
- Reviewers with confirmed COIs are excluded from matching
- Self-disclosed conflicts (via bids) affect affinity scores
- Waived conflicts may still be assigned with oversight
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Performance Considerations
Affinity Computation
- Computation is O(reviewers × proposals)
- Results cached in
ReviewerProposalAffinitytable - Recompute when profiles or proposals change significantly
Corpus IDF
- TF-IDF uses corpus-wide IDF for better term weighting
- Corpus includes all reviewer texts and proposal texts
- Computed once per call, reused for all pairs
Large Calls
- For calls with 100+ proposals and 50+ reviewers:
- Use batch processing
- Consider incremental updates
- Monitor computation time
Related Documentation
- Proposals Overview - Complete proposal module documentation
- Conflict of Interest Detection - COI detection and management
- Review System - Review assignment and scoring
Waldur Proposal Module
The Waldur proposal module provides a comprehensive research proposal management system that enables institutions to manage competitive resource allocation through structured calls for proposals, peer review processes, and automated resource provisioning.
Architecture Overview
The proposal system follows a Call → Round → Proposal → Review → Allocation architecture that handles the complete lifecycle from call publication to resource delivery:
graph TB
subgraph "Call Management"
CMO[CallManagingOrganisation] --> C[Call]
C --> RO[RequestedOffering]
C --> CRT[CallResourceTemplate]
CD[CallDocument] --> C
end
subgraph "Submission Process"
C --> R[Round]
R --> P[Proposal]
P --> RR[RequestedResource]
P --> PD[ProposalDocumentation]
P --> MP[Waldur Project]
end
subgraph "Review System"
P --> REV[Review]
REV --> RC[ReviewComment]
U[User/Reviewer] --> REV
end
subgraph "Resource Allocation"
P --> RA[ResourceAllocator]
RR --> MR[Marketplace Resource]
RA --> MR
PPRM[ProposalProjectRoleMapping] --> MP
end
Core Models
CallManagingOrganisation: Organizations that create and manage calls for proposalsCall: Main entity representing calls with configuration for review settings and durationRound: Time-bounded submission periods with configurable review and allocation strategiesProposal: Individual proposals with project details and resource requestsRequestedResource: Specific resource requests within proposals linked to marketplaceReview: Peer review system with scoring, comments, and field-specific feedback
Call Lifecycle and State Management
Call States
Calls progress through a simple but effective state machine:
stateDiagram-v2
[*] --> DRAFT : Call created
DRAFT --> ACTIVE : Call published
DRAFT --> ARCHIVED : Call canceled
ACTIVE --> ARCHIVED : Call completed
ARCHIVED --> [*]
Call State Descriptions
| State | Description | Operations Allowed |
|---|---|---|
| DRAFT | Call being prepared by organization | Edit call details, add rounds, configure offerings |
| ACTIVE | Call open for submissions | Submit proposals, manage reviews, allocate resources |
| ARCHIVED | Call completed or canceled | View historical data, generate reports |
Proposal States
Proposals follow a comprehensive lifecycle with review integration:
stateDiagram-v2
[*] --> DRAFT : Proposal created
DRAFT --> SUBMITTED : Submitter ready
DRAFT --> CANCELED : Submitter cancels
SUBMITTED --> IN_REVIEW : Review process starts
SUBMITTED --> CANCELED : Admin cancels
IN_REVIEW --> ACCEPTED : Positive review outcome
IN_REVIEW --> REJECTED : Negative review outcome
IN_REVIEW --> CANCELED : Process canceled
ACCEPTED --> [*] : Resources allocated
REJECTED --> [*] : Process complete
CANCELED --> [*] : Process terminated
Proposal State Descriptions
| State | Description | Triggers | Actions Available |
|---|---|---|---|
| DRAFT | Proposal being prepared | User creation | Edit, add resources, upload docs |
| SUBMITTED | Proposal submitted for review | User submission | View, withdraw |
| IN_REVIEW | Under review by experts | System/admin trigger | Review, comment, score |
| ACCEPTED | Approved for resource allocation | Review completion | Allocate resources, create project |
| REJECTED | Declined after review | Review completion | View feedback, appeal |
| CANCELED | Withdrawn or administratively canceled | User/admin action | Archive |
Review States
Reviews maintain independent state for tracking progress:
stateDiagram-v2
[*] --> IN_REVIEW : Review assigned
IN_REVIEW --> SUBMITTED : Review completed
IN_REVIEW --> REJECTED : Reviewer withdraws/declines
SUBMITTED --> [*] : Review processed
REJECTED --> [*] : Assignment ended
Round Management and Strategies
Review Strategies
Rounds can be configured with different review timing approaches:
| Strategy | Description | Use Case | Workflow |
|---|---|---|---|
| AFTER_ROUND | Reviews start after submission deadline | Large competitive calls | All proposals collected → batch review assignment |
| AFTER_PROPOSAL | Reviews start immediately upon submission | Rolling submissions | Individual proposal → immediate review assignment |
Allocation Strategies
Resource allocation can be automated or manual:
| Strategy | Description | Decision Maker | Allocation Logic |
|---|---|---|---|
| BY_CALL_MANAGER | Manual allocation by call administrators | Human reviewers | Call manager reviews scores and allocates |
| AUTOMATIC | Automated based on review scores | System algorithm | Automatic allocation above score threshold |
Round Configuration
graph LR
subgraph "Round Configuration"
ST[Start Time] --> CT[Cutoff Time]
CT --> RD[Review Duration]
RD --> MR[Min Reviewers]
MR --> MS[Min Score]
MS --> AD[Allocation Date]
end
subgraph "Strategies"
RS[Review Strategy:<br/>AFTER_ROUND/<br/>AFTER_PROPOSAL]
AS[Allocation Strategy:<br/>BY_CALL_MANAGER/<br/>AUTOMATIC]
AT[Allocation Time:<br/>ON_DECISION/<br/>FIXED_DATE]
end
Resource Template System
Template Architecture
Call resource templates standardize resource requests across proposals:
graph TB
subgraph "Template Definition"
C[Call] --> CRT[CallResourceTemplate]
RO[RequestedOffering] --> CRT
CRT --> A[Attributes JSON]
CRT --> L[Limits JSON]
CRT --> REQ[Is Required]
end
subgraph "Proposal Usage"
P[Proposal] --> RR[RequestedResource]
CRT --> RR
RR --> PA[Proposal Attributes]
RR --> PL[Proposal Limits]
end
subgraph "Validation"
CRT --> V[Template Validation]
RR --> V
V --> MR[Marketplace Resource]
end
Template Configuration Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Review System Architecture
Conflict of Interest Detection
Before assigning reviewers, the system can automatically detect potential conflicts of interest between reviewers and proposals. This ensures fair and unbiased peer review processes.
The COI detection system identifies:
- Named personnel conflicts: Reviewer appears in proposal team
- Institutional conflicts: Same or former institutional affiliation
- Co-authorship conflicts: Shared publications with proposal team
For complete documentation on COI detection, including configuration options, detection algorithms, and management workflows, see Conflict of Interest Detection.
Reviewer-Proposal Matching
The system includes an automated matching system that computes expertise affinity scores between reviewers and proposals. This ensures qualified reviewers are matched with proposals in their area of expertise.
Key features:
- Affinity scoring: Keyword-based and TF-IDF text similarity algorithms
- Reviewer discovery: Algorithm-based suggestions from published profiles
- Assignment algorithms: MinMax, FairFlow, and Hungarian optimization
- Bid integration: Reviewer preferences influence assignments
For complete documentation on the matching system, including configuration options, scoring algorithms, and API endpoints, see Reviewer-Proposal Matching.
Review Assignment
The system supports flexible reviewer assignment strategies:
sequenceDiagram
participant R as Round
participant P as Proposal
participant RM as ReviewManager
participant Rev as Reviewer
participant N as NotificationSystem
Note over R: Review Strategy Check
alt After Round Strategy
R->>R: Cutoff time reached
R->>RM: Assign reviewers to all proposals
else After Proposal Strategy
P->>P: State changed to SUBMITTED
P->>RM: Assign reviewers immediately
end
RM->>Rev: Create review assignments
RM->>N: Notify assigned reviewers
Rev->>Rev: Complete reviews
RM->>RM: Aggregate review results
Review Scoring System
Reviews include comprehensive scoring and feedback:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Review Visibility Configuration
Calls can configure review transparency:
| Setting | Description | Impact |
|---|---|---|
reviewer_identity_visible_to_submitters |
Whether submitters see reviewer names | False: Shows "Reviewer 1", "Reviewer 2" |
reviews_visible_to_submitters |
Whether submitters see review details | False: Only final decision visible |
Integration with Waldur Marketplace
Resource Provisioning Flow
Accepted proposals automatically trigger marketplace resource creation:
sequenceDiagram
participant P as Proposal
participant RA as ResourceAllocator
participant MP as Marketplace
participant R as Resource
participant Proj as Project
P->>P: State changed to ACCEPTED
P->>RA: Create allocator
RA->>MP: Create marketplace order
MP->>R: Provision resources
R->>Proj: Link to proposal project
Note over Proj: Automatic role mapping
RA->>Proj: Apply ProposalProjectRoleMapping
Role Mapping System
The ProposalProjectRoleMapping enables automatic role assignment:
1 2 3 4 5 6 | |
When proposals are accepted:
- System identifies users with proposal roles
- Automatically assigns corresponding project roles
- Users gain appropriate project permissions
- Resources become accessible immediately
Realistic Usage Examples
1. Academic HPC Resource Allocation
Use Case: University research computing center allocating CPU hours
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | |
Workflow:
- Researchers submit proposals with resource requests
- Expert reviewers evaluate scientific merit
- Proposals scoring ≥7.0 automatically receive allocations
- HPC accounts created with specified limits
- Usage tracked through marketplace billing
2. Cloud Infrastructure Grant Program
Use Case: Government agency providing cloud resources for research
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | |
Workflow:
- Research teams submit project proposals
- Panel review with domain experts
- Program managers manually select winning proposals
- Resources allocated on fixed quarterly dates
- Multi-year projects supported with renewal process
3. Startup Incubator Resource Program
Use Case: Accelerator providing development resources to startups
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | |
Workflow:
- Startups apply continuously throughout year
- Industry mentors review applications within 14 days
- Incubator staff make acceptance decisions
- Resources provisioned immediately upon acceptance
- 6-month duration with renewal option
Compliance Checklist Integration
Optional Compliance Requirements
Calls can optionally include compliance checklists that proposals must complete before submission. This feature integrates with the marketplace checklist system to ensure regulatory or institutional compliance requirements are met.
graph TB
subgraph "Compliance Flow"
C[Call] --> CC[Compliance Checklist]
CC --> P[Proposal]
P --> PCC[ProposalChecklistCompletion]
PCC --> PCA[ProposalChecklistAnswer]
PCA --> VS[Validation & Submission]
end
subgraph "Question Types"
CC --> BQ[Boolean Questions]
CC --> TQ[Text Questions]
CC --> SQ[Select Questions]
CC --> DQ[Date Questions]
end
subgraph "Review Triggers"
PCA --> RT[Review Triggers]
RT --> CMR[Call Manager Review]
CMR --> A[Approval/Comments]
end
Compliance Checklist Configuration
Call managers can assign compliance checklists when creating or editing calls:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
Automatic Checklist Assignment
When proposals are created for calls with compliance checklists, completion tracking is automatically initialized:
sequenceDiagram
participant U as User
participant P as Proposal
participant S as Signal Handler
participant PCC as ProposalChecklistCompletion
U->>P: Create proposal
P->>P: Save to database
P->>S: Trigger post_save signal
alt Call has compliance checklist
S->>PCC: Create completion tracking
PCC->>PCC: Initialize as incomplete
else No compliance checklist
S->>S: No action needed
end
Proposal Compliance Workflow
1. Compliance Checklist Access
Proposal managers can access compliance checklists through dedicated endpoints:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
2. Answer Submission
Proposal managers submit compliance answers:
1 2 3 4 5 6 7 8 9 10 11 | |
3. Automatic Review Triggering
Certain answers can trigger call manager review requirements:
1 2 3 4 5 6 7 8 9 10 11 | |
4. Submission Validation
Proposals cannot be submitted until compliance requirements are met:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Call Manager Oversight
Call managers have comprehensive oversight capabilities for compliance management:
1. Compliance Overview
View compliance status across all proposals in a call:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
2. Detailed Answer Review
Access detailed compliance answers for specific proposals:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
3. Compliance Review and Approval
Call managers can review and approve compliance requirements:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Integration with Proposal Serializers
Proposal serializers automatically include compliance status information:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
Real-World Use Cases
1. University Ethics Compliance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
2. Industry Safety Compliance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
3. Government Security Clearance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
Benefits of Compliance Integration
- Automated Compliance Tracking: Ensures all proposals meet regulatory requirements before submission
- Flexible Question Types: Supports various question formats (boolean, text, select, date) for comprehensive compliance assessment
- Review Triggering: Automatically flags proposals requiring additional oversight based on specific answers
- Call Manager Oversight: Provides administrators with comprehensive compliance monitoring and approval capabilities
- Audit Trail: Maintains complete records of compliance answers and review decisions
- Integration with Submission: Prevents non-compliant proposals from being submitted to review process
The compliance checklist system seamlessly integrates with the existing proposal workflow while providing the flexibility needed for various regulatory and institutional requirements.
Advanced Features
Project Integration
Accepted proposals create Waldur projects with automatic configuration:
graph LR
subgraph "Proposal Acceptance"
P[Proposal ACCEPTED] --> PC[Project Creation]
PC --> RM[Role Mapping]
RM --> RA[Resource Allocation]
end
subgraph "Project Setup"
PPRM[ProposalProjectRoleMapping] --> AR[Assign Roles]
AR --> UP[User Permissions]
UP --> RS[Resource Access]
end
Notification System
Comprehensive notification system keeps stakeholders informed:
| Event | Recipients | Content |
|---|---|---|
| Proposal Submitted | Call managers, reviewers | New proposal requiring review |
| Review Assigned | Individual reviewers | Review assignment with deadline |
| Review Completed | Call managers | Review submitted notification |
| Proposal Accepted | Proposal team, call managers | Acceptance with resource details |
| Proposal Rejected | Proposal team | Rejection with feedback |
| Round Closing | All stakeholders | Deadline reminder |
Audit Trail
Complete audit logging for compliance and transparency:
1 2 3 4 5 6 7 8 9 10 | |
Error Handling and Data Integrity
Validation Framework
Comprehensive validation ensures data consistency:
1 2 3 4 5 6 7 8 9 10 | |
State Transition Guards
Prevent invalid state changes:
1 2 3 4 5 6 7 8 9 | |
Resource Cleanup
Automatic cleanup for canceled or rejected proposals:
1 2 3 4 5 6 | |
Performance Considerations
Query Optimization
- Eager loading for nested relationships
- Database indexes on frequently queried fields
- Efficient permission filtering
Scalability Patterns
- Asynchronous review assignment for large calls
- Batch processing for resource allocation
- Cached statistics for dashboard views
Monitoring Integration
- Review progress tracking
- Resource utilization monitoring
Related Documentation
- Call Eligibility and Applicant Attributes - AAI-based eligibility restrictions and GDPR-compliant attribute exposure
- Conflict of Interest Detection - COI management and detection workflows
- Reviewer Matching - Automated reviewer assignment algorithms
- User Profile Attributes - User attribute reference for AAI integration
Quotas Application
Overview
The Quotas application is a Django app that provides generic implementation of quotas tracking functionality for Waldur:
- Store and query resource limits and usages for project, customer or any other model
- Aggregate quota usage in object hierarchies
- Provide concurrent-safe quota updates using delta-based storage
- Support multiple quota field types for different use cases
Architecture
Core Models
QuotaLimit
- Stores quota limit values for different scopes
- Uses generic foreign key to relate to any model instance
- Unique constraint on (name, content_type, object_id)
- Default value of -1 indicates unlimited quota
QuotaUsage
- Stores quota usage deltas instead of absolute values
- Enables concurrent updates without deadlocks
- Aggregated using SUM queries to get current usage
- Uses generic foreign key pattern for scope association
QuotaModelMixin
- Base mixin for models that need quota functionality
- Provides core quota management methods
- Defines abstract Quotas inner class for field definitions
- Includes property accessors for quotas, quota_usages, quota_limits
ExtendableQuotaModelMixin
- Extends QuotaModelMixin for runtime quota field addition
- Disables field caching to support dynamic fields
- Used when quota fields need to be added programmatically
Quota Field Types
QuotaField
- Base quota field class
- Configurable default limits and backend flags
- Optional creation conditions for conditional quota assignment
- Supports callable default values:
QuotaField(default_limit=lambda scope: scope.attr)
CounterQuotaField
- Automatically tracks count of target model instances
- Increases/decreases usage on target model creation/deletion
- Configurable delta calculation via
get_deltafunction - Example:
nc_resource_counttracks total resources in a project
TotalQuotaField
- Aggregates sum of specific field values from target models
- Useful for tracking total storage size, RAM allocation, etc.
- Extends CounterQuotaField with field-specific aggregation
- Example:
nc_volume_sizesums all volume sizes in a project
UsageAggregatorQuotaField
- Aggregates quota usage from child objects with same quota name
- Enables hierarchical quota tracking (customer ← project ← resource)
- Configurable child quota name mapping
- Example: Customer's
nc_resource_countaggregates from all projects
Signal Handling and Automation
Quota Handlers
count_quota_handler_factory: Creates handlers for CounterQuotaField automationhandle_aggregated_quotas: Manages usage aggregation across hierarchiesget_ancestors: Safely traverses object relationships with depth limitsdelete_quotas_when_model_is_deleted: Cleanup on model deletion
Signal Registration
- Automatically registers signals for CounterQuotaField instances
- Connects aggregation handlers to QuotaUsage model signals
- Handles project customer changes for quota recalculation
Concurrency Safety
Delta-Based Storage
The quota system uses INSERT operations instead of UPDATE to avoid deadlocks:
- Usage deltas are stored in QuotaUsage records
- Current usage calculated via SUM aggregation
- Multiple concurrent requests can safely add usage deltas
- Prevents shared write deadlocks in high-concurrency scenarios
Transaction Safety
set_quota_usageuses@transaction.atomicdecorator- Quota validation can be enabled per operation
- Safe quota changes through
apply_quota_usagemethod
Define Quota Fields
Models with quotas should inherit QuotaModelMixin and define a Quotas inner class:
1 2 3 4 5 6 7 | |
Real-World Examples
Customer Quotas
1 2 3 4 5 6 7 8 9 10 11 | |
Project Quotas
1 2 3 4 5 6 | |
Quota Operations
Basic Operations
get_quota_limit(quota_name)- Get current limit (returns -1 for unlimited)set_quota_limit(quota_name, limit)- Set new quota limitget_quota_usage(quota_name)- Get current usage (SUM of deltas)set_quota_usage(quota_name, usage)- Set absolute usage valueadd_quota_usage(quota_name, delta, validate=False)- Add delta to usage
Bulk Operations
apply_quota_usage(quota_deltas)- Apply multiple quota deltas atomicallyvalidate_quota_change(quota_deltas)- Validate quota changes before applying
Property Access
quotas- List of all quotas with name, usage, limitquota_usages- Dictionary of current usage valuesquota_limits- Dictionary of current limit values
Quota Validation
Use validate_quota_change() to check if quota changes would exceed limits:
1 2 3 4 5 | |
Shared Quota Resources
For resources that affect multiple quota scopes, implement SharedQuotaMixin:
1 2 3 4 5 6 7 8 9 10 | |
Background Tasks
Celery Tasks
update_custom_quotas()- Triggers custom quota recalculation signalupdate_standard_quotas()- Recalculates all standard quota fields
These tasks enable periodic quota synchronization and can be scheduled via cron.
Performance Considerations
Hierarchy Traversal
get_ancestors()includes depth limits (max_depth=10) to prevent infinite recursion- Handles deletion scenarios gracefully with ObjectDoesNotExist catching
- Uses sets to eliminate duplicate ancestors in complex hierarchies
Deletion Optimization
- Skips aggregation during bulk deletion (project deletion scenarios)
- Uses
_deletingflag to avoid timeout issues - Automatically cleans up quota records on model deletion
Query Optimization
- Uses
Sum()aggregation for efficient usage calculation - Generic foreign keys enable single tables for all quota types
- Field caching can be disabled for dynamic quota scenarios
Error Handling
Exception Types
QuotaError- Base quota system exceptionQuotaValidationError- Extends DRF ValidationError for quota limit violations
Graceful Degradation
- Missing relationships during deletion are safely ignored
- Invalid scopes return empty quota collections
- Failed quota operations don't break primary workflows
Integration Points
Structure Integration
- Customer and Project models include standard quota definitions
- Project movement between customers triggers quota recalculation
- User count and resource count quotas are tracked automatically
Plugin Integration
recalculate_quotassignal allows plugin-specific quota logic- Backend quota synchronization through plugin-specific handlers
- Resource-specific quota fields defined in individual plugins
Usage Workflow
Standard Workflow
- Quota Allocation: Increase usage when resource allocation begins
- Validation: Check quota limits before proceeding with operations
- Backend Sync: Pull actual usage from backends periodically
- Cleanup: Decrease usage only when backend deletion succeeds
Error Recovery
- Frontend quota not modified if backend API calls fail
- Quota pulling (sync) handles discrepancies
- Manual recalculation available via management commands
Sort Objects by Quotas
Inherit your FilterSet from QuotaFilterMixin and add quota ordering:
1 2 | |
Ordering can be done only by one quota at a time.
Tasks and executors
Overview
Waldur performs logical operations using executors that combine several tasks. This document explains the executor pattern, its implementation in Waldur, and provides examples of real-world usage.
Executor Pattern
Executor represents a logical operation on a backend, like VM creation or resize. It executes one or more background tasks and takes care of resource state updates and exception handling. The pattern provides several benefits:
- Abstraction: Hides complex backend interactions behind a simple interface
- Consistency: Ensures consistent state management across operations
- Modularity: Allows reusing common tasks across different operations
- Task Coordination: Simplifies orchestration of multiple related tasks
Basic Executor Flow
- Pre-apply phase: Prepare the resource by handling initial state transition
- Task generation: Create Celery task signature or chain of tasks
- Success/failure handlers: Define how to handle task completion or errors
- Execution: Process tasks either asynchronously or synchronously
Types of Executors
Waldur implements several specialized executors that inherit from the BaseExecutor class:
- CreateExecutor: For creating resources (sets state to OK on success)
- UpdateExecutor: For updating resources (schedules updating before actual update)
- DeleteExecutor: For deleting resources (schedules deleting before actual deletion)
- ActionExecutor: For executing specific actions on resources (custom operations)
Scheduling Celery task from signal handler
Please use transaction.on_commit wrapper if you need to schedule Celery task from signal handler. Otherwise, Celery task is scheduled too early and executed even if object is not yet saved to the database. See also django docs
Task Types
There are 3 types of task queues: regular (used by default), heavy and background.
Regular tasks
Each regular task corresponds to a particular granular action - like state transition, object deletion or backend method execution. They are supposed to be combined and called in executors. It is not allowed to schedule tasks directly from views or serializer.
Heavy tasks
If task takes too long to complete, you should try to break it down into smaller regular tasks in order to avoid flooding general queue. Only if backend does not allow to do so, you should mark such tasks as heavy so that they use separate queue.
1 2 3 | |
Throttle tasks
Some backends don't allow to execute several operations concurrently within the same scope. For example, one OpenStack settings does not support provisioning of more than 4 instances together. In this case task throttling should be used.
Background tasks
Tasks that are executed by celerybeat should be marked as "background". To mark task as background you need to inherit it from core.BackgroundTask:
1 2 3 4 | |
Explore BackgroundTask to discover background tasks features.
Task registration
For class based tasks use old Task base class for compatibility:
1 | |
For functions use decorator shared_task:
1 2 3 4 5 6 | |
Real-world Example: OpenStack Instance Creation
The OpenStack plugin's InstanceCreateExecutor demonstrates a complex real-world implementation of the executor pattern. It orchestrates multiple tasks:
- Creates all volumes for the instance
- Creates necessary network ports
- Creates the instance itself on the OpenStack backend
- Attaches volumes to the instance
- Updates security groups
- Creates and attaches floating IPs
- Pulls the final state of the instance and related resources
Each step is carefully orchestrated with appropriate state transitions, error handling, and checks to ensure the operation completes successfully.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Common Task Types in Executors
Executors typically use the following task types:
- BackendMethodTask: Executes a method on the backend resource
1 | |
- StateTransitionTask: Changes the state of a resource
1 | |
- PollRuntimeStateTask: Polls the backend until a resource reaches a desired state
1 2 3 4 5 6 | |
- PollBackendCheckTask: Checks if a backend operation has completed
1 | |
Executor-Task Relationship
Executors construct and manage task chains, providing a higher-level interface for complex operations.
Best Practices
- Use appropriate executor type based on operation (create, update, delete, action)
- Implement pre_apply for necessary state transitions
- Handle both success and failure cases with appropriate signatures
- Use transaction.on_commit when scheduling from signal handlers
- Break down long-running tasks into smaller chunks
- Use throttling when backend has concurrency limitations
Ended: Core concepts
Guides ↵
Build, Test, and Lint Commands
Development Setup
- Install dev dependencies:
uv sync --group dev
Testing Commands
- Run all tests:
DJANGO_SETTINGS_MODULE=waldur_core.server.my_test_settings uv run pytest - Run specific module tests:
DJANGO_SETTINGS_MODULE=waldur_core.server.my_test_settings uv run pytest src/waldur_core/core/tests/test_serializers.py - Run single test:
DJANGO_SETTINGS_MODULE=waldur_core.server.my_test_settings uv run pytest src/waldur_core/core/tests/test_serializers.py::RestrictedSerializerTest::test_serializer_returns_fields_required_in_request -v - Verbose output: Add
-v -sflags for detailed output with print statements
Code Quality Commands
- Lint code:
uv run pre-commit run --all-files - Format code:
uv run pre-commit run --all-files - Check code style:
uv run pre-commit run --all-files
Markdown Linting
- Lint docs directory:
mdl --style markdownlint-style.rb docs/ - Lint project docs:
mdl --style markdownlint-style.rb CLAUDE.md docs/ - Lint specific file:
mdl --style markdownlint-style.rb path/to/file.md
Claude Code Subagent Validation
- Validate subagents:
.claude/validate-agents.sh
Common MD007 Issues and Fixes
- Use exactly 2 spaces for nested list items (configured in markdownlint-style.rb)
- Be consistent - if parent uses
*or-, all children at same level should use same indentation - Table section headers need empty cells to match column count:
| **Section** | | | - Fix incrementally - ensure ALL items at the same nesting level use identical spacing
Debugging Markdown Issues
- Use
sed -n 'Xp' file | hexdump -Cto see exact spacing (look for20 20= 2 spaces) - Run
mdl --verboseto see which specific rule is processing - Check markdownlint-style.rb for custom rule configurations
Development Philosophy
Core Beliefs
- Incremental progress over big bangs - Small changes that compile and pass tests
- Learning from existing code - Study and plan before implementing
- Pragmatic over dogmatic - Adapt to project reality
- Clear intent over clever code - Be boring and obvious
Simplicity Means
- Single responsibility per function/class
- Avoid premature abstractions
- No clever tricks - choose the boring solution
- If you need to explain it, it's too complex
Process
1. Planning & Staging
Break complex work into 3-5 stages. Document in IMPLEMENTATION_PLAN.md:
1 2 3 4 5 | |
- Update status as you progress
- Remove file when all stages are done
2. Implementation Flow
- Understand - Study existing patterns in codebase
- Test - Write test first (red)
- Implement - Minimal code to pass (green)
- Refactor - Clean up with tests passing
- Commit - With clear message linking to plan
3. When Stuck (After 3 Attempts)
CRITICAL: Maximum 3 attempts per issue, then STOP.
- Document what failed:
- What you tried
- Specific error messages
-
Why you think it failed
-
Research alternatives:
- Find 2-3 similar implementations
-
Note different approaches used
-
Question fundamentals:
- Is this the right abstraction level?
- Can this be split into smaller problems?
-
Is there a simpler approach entirely?
-
Try different angle:
- Different library/framework feature?
- Different architectural pattern?
- Remove abstraction instead of adding?
Technical Standards
Architecture Principles
- Composition over inheritance - Use dependency injection
- Interfaces over singletons - Enable testing and flexibility
- Explicit over implicit - Clear data flow and dependencies
- Test-driven when possible - Never disable tests, fix them
Code Quality
- Every commit must:
- Compile successfully
- Pass all existing tests
- Include tests for new functionality
-
Follow project formatting/linting
-
Before committing:
- Run formatters/linters
- Self-review changes
- Ensure commit message explains "why"
Error Handling
- Fail fast with descriptive messages
- Include context for debugging
- Handle errors at appropriate level
- Never silently swallow exceptions
Decision Framework
When multiple valid approaches exist, choose based on:
- Testability - Can I easily test this?
- Readability - Will someone understand this in 6 months?
- Consistency - Does this match project patterns?
- Simplicity - Is this the simplest solution that works?
- Reversibility - How hard to change later?
Project Integration
Learning the Codebase
- Find 3 similar features/components
- Identify common patterns and conventions
- Use same libraries/utilities when possible
- Follow existing test patterns
Tooling
- Use project's existing build system
- Use project's test framework
- Use project's formatter/linter settings
- Don't introduce new tools without strong justification
Dynamic Test Scheduling in CI/CD
This document outlines the architecture and implementation of the dynamic test scheduling system used in this project's CI/CD pipeline. The primary goal of this system is to dramatically reduce the time spent waiting for test feedback by intelligently selecting and running only the tests relevant to a given code change.
1. The Problem: Slow Feedback Loops
In a large monolithic application, the test suite can grow to thousands of tests, often taking 20 minutes or more to run. Running the entire suite for every minor change is inefficient and costly, leading to several problems:
- Reduced Developer Velocity: Developers switch context while waiting for CI, slowing down the development cycle.
- Increased CI/CD Costs: More runner time is consumed, leading to higher infrastructure costs.
- Discourages Small Commits: Developers may be tempted to batch many changes into a single commit to avoid multiple long waits.
The ideal system provides feedback that is proportional to the risk of the change. A small bugfix in an isolated module should receive feedback in minutes, while a change to a core shared library rightly warrants a full, comprehensive test run.
2. The Solution: A Dynamic, Dependency-Aware Pipeline
Our solution is a dynamic pipeline generation system that operates in two main phases: a Planning Phase and an Execution Phase.
2.1. Core Concepts
- Dependency Graph: We statically analyze the Python source code to build a dependency graph of all Django applications. This graph answers the question: "If App A changes, which other apps (B, C, etc.) depend on it and might break?" This graph is stored in
tests/dependency_graph.yamland is version-controlled. - Change Detection: For every merge request, we use Git to determine the exact set of files that have been modified.
- Test Selection: A Python script (
tests/select_tests.py) combines the list of changed files with the dependency graph to produce a minimal list of applications that need to be tested. - Dynamic Parallelization: We count the number of tests within the selected applications. Based on a pre-defined threshold, we dynamically decide how many parallel CI runners to allocate for the test run. Small batches of tests run on a single worker, while large batches are split across the maximum number of workers.
- Child Pipelines: GitLab's "parent-child pipeline" feature is used to implement this. A parent job does the planning and then triggers a child pipeline that is configured on-the-fly to match the required workload (e.g., a single job or 10 parallel jobs).
2.2. Workflow Visualization
The following diagram illustrates the complete end-to-end workflow for a typical merge request pipeline.
graph TD
subgraph "Parent Pipeline"
A[Start MR Pipeline] --> B{Merge Check}
B -->|Success| C[generate_test_pipeline job]
B -->|Failure| D[Fail Fast!]
C --> E[tests/generate-pipeline.sh]
E --> F[select_tests.py]
F --> G{Full Run src?}
G -->|Yes| H[Decide: Max Workers]
G -->|No| I[pytest --collect-only]
I --> J{Test Count > Threshold?}
J -->|Yes| K[Decide: Scaled # of Workers]
J -->|No| L[Decide: 1 Worker]
H --> M[Generate artifacts]
K --> M
L --> M
M --> N[run_tests_dynamically job]
end
subgraph "Child Pipeline"
N -->|Triggers with TEST_PATHS| O[Test Jobs]
O -->|1 worker| P[tests/waldur-test]
O -->|N workers| P
P --> Q[Execute Pytest]
Q --> R[Upload Reports]
end
classDef success fill:#d4edda,stroke:#155724
classDef failure fill:#f8d7da,stroke:#721c24
classDef childPipeline fill:#cce5ff,stroke:#004085
class A success
class D failure
class N,O childPipeline
3. Implementation Details
The system is composed of several key scripts and GitLab CI configuration files.
3.1. Core Scripts (Located in tests/)
build_dependency_graph.py- Purpose: To generate the
dependency_graph.yamlfile. - How: It recursively finds all Django apps, parses their Python files using the
astmodule, and records all inter-appimportstatements. -
When to run: This script should be run manually and the result committed whenever new apps are added or major refactoring occurs.
-
select_tests.py - Purpose: To determine the list of applications to test for a given change.
- How: It reads the
dependency_graph.yaml, gets the list of changed files from Git, and identifies the set of directly changed apps. It does not perform transitive dependency checks, for a balance of speed and safety. -
Special Case: If a "core" file (like
pyproject.tomlor.gitlab-ci.yml) is changed, it outputs the special stringsrcto signal a full test run. -
generate-pipeline.sh - Purpose: The main "brain" of the planning phase. It generates the child pipeline configuration.
-
How:
- Calls
select_tests.py. - If the result is
src, it immediately decides on maximum parallelization. - Otherwise, it runs
pytest --collect-onlyto get an exact test count. - Based on the count and pre-defined thresholds, it determines the number of parallel workers needed.
- It writes a complete
generated-pipeline.ymlfile, embedding the correctparallel:keyword and other variables. - It also writes a
generated_vars.envfile to pass the selected test paths to the child pipeline.
- Calls
-
waldur-test - Purpose: The final "executor" script that runs inside the child pipeline jobs.
- How: It's a simple, robust shell script that receives the test mode, test paths, and a splitting flag (
true/false) as arguments. It constructs the finalpytestcommand, adding the--test-group-*flags only if instructed to do so.
3.2. GitLab CI Configuration (.gitlab-ci.yml)
The main CI file implements a two-job pattern for the dynamic pipeline:
generate_test_pipeline- A non-parallel job that runs first.
- It performs the merge check to fail fast.
- It executes
tests/generate-pipeline.sh. -
It saves
generated-pipeline.ymlandgenerated_vars.envas artifacts. -
run_tests_dynamically - A non-script,
trigger-only job. - It
needsthegenerate_test_pipelinejob to ensure it runs second and has access to its artifacts. - It uses
trigger:include:artifactto start a child pipeline using the generated YAML. - Crucially, it uses
trigger:forward:yaml_variables:trueto pass theTEST_PATHSvariable to the child pipeline.
4. How to Maintain This System
- Updating Dependencies: If you add a new Django app, run
python tests/build_dependency_graph.pyand commit the updatedtests/dependency_graph.yaml. - Tuning Performance: The
TEST_SPLITTING_THRESHOLDvariable intests/generate-pipeline.shcan be adjusted. If you find that small parallel jobs are inefficient, increase the threshold. If you have very fast-starting runners, you could decrease it. - Debugging: If a pipeline fails, first check the log of the
generate_test_pipelinejob. It contains detailed output about which paths were selected, how many tests were discovered, and what the generated child pipeline configuration looked like. This will usually pinpoint the source of the problem.
Event Subscription Queues
This guide explains the EventSubscriptionQueue system for managing RabbitMQ queues
used by event subscriptions, including queue lifecycle management and cleanup mechanisms.
Overview
The EventSubscriptionQueue model tracks RabbitMQ queues that site agents create to
receive marketplace events. This explicit queue registration prevents race conditions
between STOMP subscribers and publishers that would otherwise cause precondition_failed
errors in RabbitMQ.
Problem Solved
Without explicit queue management, a race condition occurs:
sequenceDiagram
participant Agent as Site Agent
participant RMQ as RabbitMQ
participant Waldur as Waldur Mastermind
Agent->>RMQ: STOMP SUBSCRIBE to queue
Note over RMQ: Queue auto-created<br/>WITHOUT special arguments
Waldur->>RMQ: Publish message with<br/>x-dead-letter-exchange header
RMQ-->>Waldur: PRECONDITION_FAILED
Note over RMQ: Queue arguments mismatch!
The solution requires agents to create queues via API before subscribing:
sequenceDiagram
participant Agent as Site Agent
participant Waldur as Waldur Mastermind
participant RMQ as RabbitMQ
Agent->>Waldur: POST /create_queue/
Waldur->>RMQ: Create queue with correct arguments
RMQ-->>Waldur: Queue created
Waldur-->>Agent: 201 Created (queue_name, vhost)
Agent->>RMQ: STOMP SUBSCRIBE to pre-created queue
Note over RMQ: Queue already exists<br/>with correct arguments
Waldur->>RMQ: Publish message with headers
RMQ-->>Agent: Message delivered
Architecture
Components
| Component | Location | Purpose |
|---|---|---|
EventSubscriptionQueue model |
waldur_core/logging/models.py |
Tracks queue registrations |
create_queue API action |
waldur_core/logging/views.py |
Creates queues via API |
RabbitMQManagementBackend.create_queue() |
waldur_core/logging/backend.py |
RabbitMQ Management API calls |
prepare_messages() queue check |
marketplace/utils.py |
Skips unregistered queues |
pre_delete signal handler |
waldur_core/logging/handlers.py |
Cleans up RabbitMQ on deletion |
cleanup_orphan_subscription_queues task |
waldur_core/logging/tasks.py |
Removes orphaned queues |
Queue Naming Convention
Queue names follow the pattern:
1 | |
Example: subscription_a1b2c3d4_offering_e5f6g7h8_resource
Queue Arguments
All subscription queues are created with these RabbitMQ arguments:
1 2 3 4 5 6 7 | |
Queue Lifecycle
Creation Flow
sequenceDiagram
participant Agent as Site Agent
participant API as Waldur API
participant DB as PostgreSQL
participant RMQ as RabbitMQ
Agent->>API: POST /event-subscriptions/{uuid}/create_queue/
Note over Agent,API: {offering_uuid, object_type}
API->>API: Validate offering access
API->>DB: Check if queue exists
alt Queue exists
API->>RMQ: Ensure queue exists (idempotent)
API-->>Agent: 200 OK (existing queue)
else Queue doesn't exist
API->>RMQ: PUT /api/queues/{vhost}/{name}
RMQ-->>API: 201 Created
API->>DB: INSERT EventSubscriptionQueue
API-->>Agent: 201 Created (new queue)
end
Deletion Flow (Signal-Based)
When an EventSubscriptionQueue record is deleted (directly or via cascade),
a pre_delete signal automatically removes the RabbitMQ queue:
sequenceDiagram
participant Client as API Client
participant Django as Django ORM
participant Signal as pre_delete Signal
participant RMQ as RabbitMQ
Client->>Django: Delete EventSubscription
Django->>Django: CASCADE to EventSubscriptionQueue
loop For each queue record
Django->>Signal: pre_delete triggered
Signal->>RMQ: DELETE /api/queues/{vhost}/{name}
RMQ-->>Signal: 204 No Content
end
Django->>Django: Delete DB records
Django-->>Client: Success
Orphan Queue Cleanup
A periodic task runs every 6 hours to find and remove orphaned queues (RabbitMQ queues without matching DB records):
sequenceDiagram
participant Celery as Celery Beat
participant Task as cleanup_orphan_subscription_queues
participant RMQ as RabbitMQ
participant DB as PostgreSQL
Celery->>Task: Execute task (every 6 hours)
Task->>RMQ: List all subscription_* queues
RMQ-->>Task: Queue list per vhost
loop For each queue
Task->>DB: Check EventSubscriptionQueue exists
alt No matching record
Task->>RMQ: DELETE queue
Note over Task: Log: "Deleted orphan queue"
end
end
Cleanup Mechanisms
1. Signal-Based Cleanup (Real-Time)
Trigger: EventSubscriptionQueue record deletion
Handler: cleanup_rabbitmq_queue_on_delete in handlers.py
Behavior:
- Fires on pre_delete signal
- Calls RabbitMQManagementBackend.delete_queue()
- Logs warning on failure but doesn't block deletion
2. Orphan Queue Cleanup (Periodic)
Task: cleanup_orphan_subscription_queues
Schedule: Every 6 hours (configurable in celery beat)
Behavior:
- Lists all subscription_* queues from RabbitMQ
- Compares against EventSubscriptionQueue records
- Deletes queues with no matching DB record
- Continues processing even if individual deletes fail
3. Stale Subscription Cleanup (Existing)
Task: delete_stale_event_subscriptions
Schedule: Every 24 hours
Behavior:
- Removes subscriptions for users with expired tokens
- CASCADE deletes EventSubscriptionQueue records
- Signal handler cleans up RabbitMQ queues
API Reference
Create Queue
1 | |
Request:
1 2 3 4 | |
Response (201 Created):
1 2 3 4 5 6 7 8 | |
Response (200 OK): Same format, returned when queue already exists.
Valid object_type values:
- resource
- order
- user_role
- service_account
- course_account
- importable_resources
Monitoring
Check Queue Status
1 2 3 4 5 6 7 | |
Watch for Errors
1 2 3 4 5 | |
Django Shell Queries
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Troubleshooting
Queue Creation Fails
Symptom: API returns 400/500 on create_queue
Check: 1. RabbitMQ is running and accessible 2. User has valid EventSubscription 3. Offering UUID exists and user has access
Messages Not Delivered
Symptom: Events published but agent doesn't receive them
Check:
1. Queue exists in RabbitMQ with correct arguments
2. EventSubscriptionQueue record exists in DB
3. Waldur logs for "Queue not registered... Skipping"
Orphan Queues Accumulating
Symptom: RabbitMQ has subscription queues with no consumers
Fix: 1. Run cleanup task manually:
1 2 | |
precondition_failed Errors
Symptom: RabbitMQ logs show PRECONDITION_FAILED - inequivalent arg
Cause: Queue was created by STOMP subscriber before API call
Fix:
1. Delete the misconfigured queue from RabbitMQ
2. Ensure agent calls create_queue API before STOMP subscribe
3. Restart agent to recreate queue correctly
Configuration
Celery Beat Schedule
The cleanup tasks are registered in marketplace_site_agent/extension.py:
1 2 3 4 5 6 7 | |
Queue Arguments
Queue arguments are defined in waldur_core/logging/backend.py:
1 2 3 4 5 6 | |
Related Documentation
Add a new language for translatable models
For translating fields of some models we use django modeltranslation.
First run
To setup the database environment, after completing all migrations, execute in a console:
1 | |
Add a new language
To populate the generated language tables with initial content, run
1 | |
How to write serializers
This guide provides comprehensive patterns and best practices for writing serializers in Waldur MasterMind, based on analysis of the current codebase architecture.
Core Serializer Architecture Principles
Mixin-Based Composition
Waldur uses extensive mixin composition to build complex serializers with reusable functionality. The recommended order follows Python's Method Resolution Order (MRO):
1 2 3 4 5 6 7 | |
Key Mixin Classes
- AugmentedSerializerMixin: Core functionality for signal injection and related fields
- RestrictedSerializerMixin: Field-level control to avoid over-fetching
- PermissionFieldFilteringMixin: Security filtering based on user permissions
- SlugSerializerMixin: Slug field management with staff-only editing
- CountrySerializerMixin: Internationalization support
Object Identity and HATEOAS
UUID-Based Identity
All objects are identified by UUIDs rather than database IDs for distributed database support:
1 2 3 4 5 6 | |
Consistent URL Patterns
- Detail views:
{model_name}-detail - List views:
{model_name}-list - Custom actions:
{model_name}-{action}
1 2 3 4 5 6 | |
Automatic Related Field Generation
Related Paths Pattern
Use related_paths to automatically generate related object fields:
1 2 3 4 5 6 7 8 9 10 11 | |
This automatically generates: customer_uuid, customer_name, customer_native_name, customer_abbreviation, etc.
Security and Permissions
Permission-Based Field Filtering
Always use PermissionFieldFilteringMixin for related fields to ensure users can only reference objects they have access to:
1 2 3 | |
Permission List Serializers
For many=True relationships, use PermissionListSerializer:
1 2 3 | |
Staff-Only Fields
Restrict sensitive fields to staff users:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Protected Fields
Use protected_fields to make fields read-only during updates:
1 2 | |
Performance Optimization
Eager Loading
Always implement eager_load() static methods for query optimization:
1 2 3 4 5 6 7 8 9 | |
RestrictedSerializerMixin Documentation
The RestrictedSerializerMixin provides a powerful and flexible way to dynamically control which fields are rendered by a Django REST Framework serializer based on query parameters in the request URL. This is especially useful for optimizing API responses, reducing payload size, and allowing API clients to fetch only the data they need.
The mixin supports two primary modes of operation:
- Restricted Field Rendering (Whitelisting): The client specifies exactly which fields they want, and all others are excluded.
- Optional Fields (Blacklisting by Default): The serializer defines certain "expensive" or non-essential fields that are excluded by default but can be explicitly requested by the client.
Basic Usage
To use the mixin, simply add it to your serializer's inheritance list. The mixin requires the request object to be in the serializer's context, which DRF views typically provide automatically.
1 2 3 4 5 6 7 | |
Feature 1: Restricted Field Rendering (Whitelisting)
This is the primary feature. By adding the ?field= query parameter to the URL, an API client can request a specific subset of fields. The serializer will only render the fields present in the field parameters.
Example:
Imagine a CustomerSerializer with the fields uuid, name, email, and created.
To request only the name and uuid of a customer:
URL: /api/customers/123/?field=name&field=uuid
Expected JSON Response:
1 2 3 4 | |
Behavior Examples
Standard Request
URL: /api/customers/123/
Result: The optional fields (projects, billing_price_estimate) are excluded. The expensive get_billing_price_estimate method is never called.
1 2 3 4 5 6 | |
Requesting Optional Fields
URL: /api/customers/123/?field=name&field=projects
Result: The response is restricted to name, and the optional field projects is included because it was requested.
1 2 3 4 5 6 7 | |
Advanced Behavior
Nested Serializers
The RestrictedSerializerMixin is designed to be "nesting-aware." It will only apply its filtering logic to the top-level serializer in a request. Any nested serializers will be rendered completely, ignoring the ?field= parameters from the URL. This prevents unintentional and undesirable filtering of nested data structures.
Example: A ProjectSerializer that includes a nested CustomerSerializer.
URL: /api/projects/abc/?field=name&field=customer
Expected JSON Response: The ProjectSerializer is filtered to name and customer. The nested CustomerSerializer, however, renders all of its fields (excluding its own optional fields, of course), because it is not the top-level serializer.
1 2 3 4 5 6 7 8 9 | |
List Views (many=True)
The mixin works seamlessly with list views. The field filtering is applied individually to each object in the list.
Example:
URL: /api/customers/?field=uuid&field=name
Expected JSON Response:
1 2 3 4 5 6 7 8 9 10 | |
Complex Validation Patterns
Hierarchical Validation
Implement validation in layers:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Dynamic Field Behavior
Use get_fields() for context-dependent field behavior:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
External API Integration
For external validation (e.g., VAT numbers):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Service Configuration Patterns
Options Pattern for Flexible Configuration
Use the options pattern for service-specific configuration without model changes:
1 2 3 4 5 6 7 8 | |
Secret Field Management
Protect sensitive configuration data:
1 2 | |
Complex Resource Orchestration
Transactional Resource Creation
For resources that create multiple related objects:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Advanced Serializer Patterns
Nested Resource Serializers
For complex relationships:
1 2 3 4 5 6 7 8 | |
Generic Relationships
For polymorphic relationships:
1 2 3 4 5 6 7 8 9 10 | |
Signal-Based Field Injection
Extensible Serializers
Avoid circular dependencies by using signals for field injection:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Standard Meta Class Configuration
Complete Meta Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Custom Field Types
Specialized Fields
- HTMLCleanField: Automatically sanitizes HTML content
- DictSerializerField: Handles JSON dictionary serialization
- GenericRelatedField: Supports multiple model types in relations
- MappedChoiceField: Maps choice values for API consistency
1 2 3 4 5 6 7 | |
Testing Serializers
Factory-Based Testing
Use factory classes for test data generation:
1 2 3 4 5 6 7 8 | |
Permission Testing
Test permission-based filtering:
1 2 3 4 5 6 7 8 | |
Common Pitfalls and Best Practices
Do's
- Always use UUID lookup fields for all hyperlinked relationships
- Implement eager_load() for any serializer used in list views
- Use PermissionFieldFilteringMixin for all related fields
- Follow the mixin order for consistent behavior
- Use related_paths for automatic related field generation
- Implement comprehensive validation at multiple levels
- Use transactions for multi-resource creation
- Mark expensive fields as optional
Don'ts
- Don't use
fields = '__all__'- always be explicit - Don't forget lookup_field='uuid' in extra_kwargs
- Don't skip permission filtering for security-sensitive fields
- Don't implement custom field logic without using established patterns
- Don't create circular dependencies - use signal injection instead
- Don't ignore performance - always consider query optimization
- Don't hardcode view names - use consistent naming patterns
Migration from Legacy Patterns
Updating Existing Serializers
When updating legacy serializers:
- Add missing mixins in the correct order
- Implement
eager_load()static methods - Add
related_pathsfor automatic field generation - Add permission filtering with
get_filtered_field_names() - Use
protected_fieldsinstead of custom read-only logic - Update to use
lookup_field='uuid'consistently
This comprehensive guide provides the patterns and practices needed to write maintainable, secure, and performant serializers that follow Waldur's architectural conventions.
How to write tests
Application tests structure
Application tests should follow next structure:
-
/tests/ - folder for all application tests.
-
/tests/test_my_entity.py - file for API calls tests that are logically related to entity. Example: test calls for project CRUD + actions.
-
/tests/test_my_entity.py:MyEntityActionTest - class for tests that are related to particular endpoint. Examples: ProjectCreateTest, InstanceResizeTest.
-
/tests/unittests/ - folder for unittests of particular file.
-
/tests/unittests/test_file_name.py - file for test of classes and methods from application file "file_name". Examples: test_models.py, test_handlers.py.
-
/tests/unittests/test_file_name.py:MyClassOrFuncTest - class for test that is related to particular class or function from file. Examples: ProjectTest, ValidateServiceTypeTest.
Tips for writing tests
- cover important or complex functions and methods with unittests;
- write at least one test for a positive flow for each endpoint;
- do not write tests for actions that does not exist. If you don't support "create" action for any user there is no need to write test for that;
- use fixtures (module fixtures.py) to generate default structure.
How to override settings in unit tests
Don't manipulate django.conf.settings directly as Django won't restore the original values after such manipulations. Instead you should use standard context managers and decorators. They change a setting temporarily and revert to the original value after running the testing code. If you modify settings directly, you break test isolation by modifying global variable.
If configuration setting is not plain text or number but dictionary, and you need to update only one parameter, you should take whole dict, copy it, modify parameter, and override whole dict.
Wrong:
1 2 | |
Right:
1 2 3 4 5 | |
Running tests
In order to run unit tests for specific module please execute the following command. Note that you should substitute module name instead of example waldur_openstack. Also it is assumed that you've already activated virtual Python environment.
1 | |
How to write views
View workflow
-
Filtering - filter objects that are visible to a user based on his request. Raise 404 error if object is not visible.
-
Permissions check - make sure that user has right to execute chosen action. Raise 403 error if user does not have enough permissions.
-
View validation - check object state and make sure that selected action can be executed. Raise 409 error if action cannot be executed with current object state.
-
Serializer validation - check that user's data is valid.
-
Action logic execution - do anything that should be done to execute action. For example: schedule tasks with executors, run backend tasks, save data to DB.
-
Serialization and response output - return serialized data as response.
Installation Guide
Installation via Dev Containers
If you use VS Code or GitHub Codespaces, you can quickly set up a development environment using Dev Containers. This method provides a consistent, pre-configured environment with all necessary dependencies.
Prerequisites for Dev Containers are:
- VS Code with the Dev Containers extension installed
- Docker Desktop (for local development)
- Git
After cloning repository, when prompted "Reopen in Container", click on it. Alternatively, you can press Ctrl+Shift+P, type "Dev Containers: Reopen in Container" and press Enter.
VS Code will build the dev container and set up the environment automatically. This process includes:
- Installing all system dependencies
- Setting up Python with the correct version
- Installing VS Code extensions
- Installing uv and project dependencies
- Installing PostgreSQL
- Configuring pre-commit hooks
Once the container is built and running, you'll have a fully configured development environment ready to use.
Installation from source
Prerequisites
- Linux OS. If you use Windows, you should install Linux either via Virtualbox or Windows Subsystem for Linux.
gitvirtualenvCcompiler and development libraries needed to build dependencies
Package installation by OS
-
Debian or Ubuntu:
sudo apt install git python3-pip python3-venv python3-dev gcc libffi-dev libsasl2-dev libssl-dev libpq-dev libjpeg8-dev zlib1g-dev xmlsec1 libldap2-dev liblzma-dev libxslt1-dev libxml2-dev libbz2-dev libreadline-dev libsqlite3-dev -
OS X:
brew install openssl; export CFLAGS="-I$(brew --prefix openssl)/include $CFLAGS"; export LDFLAGS="-L$(brew --prefix openssl)/lib $LDFLAGS"
Installation steps
Install uv
1 | |
Install pyenv
1 2 3 | |
Get the code
1 2 | |
Install Waldur in development mode
1 2 3 | |
NB: If you use a machine with Apple M1 CPU, run this before:
1 2 3 4 | |
Create and edit settings file
1 2 | |
Database setup
Initialize PostgreSQL database:
1 2 3 | |
Add a password waldur for this user:
1 2 3 | |
Final Setup Steps
Run migrations:
1 | |
Collect static files:
1 | |
Start Waldur:
1 | |
Additional configuration
For detailed configuration instructions, visit https://docs.waldur.com/latest/admin-guide/mastermind-configuration/general/
Implementing Custom Marketplace Option Types
This guide explains how to add new option types to Waldur's marketplace offering system, using the conditional_cascade implementation as a reference.
Overview
Waldur marketplace options allow service providers to define custom form fields for their offerings. The system supports various built-in types like string, select_string, boolean, etc., and can be extended with custom types.
Architecture
The marketplace options system consists of several components:
- Backend: Option type validation, serialization, and storage
- Admin Interface: Configuration UI for service providers
- User Interface: Form fields displayed to users during ordering
- Form Processing: Attribute handling during order creation
Implementation Steps
1. Backend: Add Field Type Constant
Add your new type to the FIELD_TYPES constant:
File: src/waldur_mastermind/marketplace/serializers.py
1 2 3 4 5 6 7 | |
2. Backend: Create Configuration Serializers
Define serializers for validating your option configuration:
File: src/waldur_mastermind/marketplace/serializers.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
3. Backend: Add Order Validation Support
Register your field type for order processing:
File: src/waldur_mastermind/common/serializers.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
4. Frontend: Add Type Constant
Add the new type to the frontend constants:
File: src/marketplace/offerings/update/options/constants.ts
1 2 3 4 5 6 7 | |
5. Frontend: Create Configuration Component
Create an admin configuration component:
File: src/marketplace/offerings/update/options/YourCustomConfiguration.tsx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
6. Frontend: Create User-Facing Component
Create the component that users see in order forms:
File: src/marketplace/common/YourCustomField.tsx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | |
7. Frontend: Update Configuration Forms
Add your type to the option configuration form:
File: src/marketplace/offerings/update/options/OptionForm.tsx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
8. Frontend: Update Order Form Rendering
Add your field to the order form renderer:
File: src/marketplace/common/OptionsForm.tsx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
9. Frontend: Handle Form Data Processing
Update form utilities if needed:
File: src/marketplace/offerings/store/utils.ts
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
File: src/marketplace/details/utils.ts
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
10. Testing
Create comprehensive tests for your new option type:
File: src/waldur_mastermind/marketplace/tests/test_your_custom_type.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | |
Key Considerations
Data Format Consistency
- Configuration Phase: How admins configure the option (JSON strings for complex data)
- Display Phase: How the option is displayed in forms (parsed objects)
- Submission Phase: What format users submit (depends on your UI component)
- Storage Phase: How the data is stored in orders/resources (final format)
Error Handling
- Ensure all error dictionaries use string keys for JSON serialization compatibility
- Provide clear, actionable error messages
- Handle edge cases (empty values, malformed data, etc.)
Form Integration
- Redux-form compatibility: For admin configuration interfaces
- React-final-form compatibility: For some user interfaces (when
finalForm=true) - FormContainer integration: For most user order forms
Performance
- Use
useCallbackanduseRefto prevent unnecessary re-renders - Avoid object dependencies in
useEffectthat cause infinite loops - Memoize expensive computations
Example: Conditional Cascade Implementation
The conditional_cascade type demonstrates all these concepts:
Backend Components
CascadeStepSerializer- Validates individual steps with JSON parsingCascadeConfigSerializer- Validates overall configuration with dependency checkingConditionalCascadeField(in common/serializers.py) - Handles order validation
Frontend Components
ConditionalCascadeConfiguration- Admin configuration interface (redux-form)ConditionalCascadeWidget- Admin form component (redux-form)ConditionalCascadeField- User order form component (FormContainer/redux-form)
Key Features
- Cascading Dependencies: Dropdowns that depend on previous selections
- JSON Configuration: Complex configuration stored as JSON strings
- Object Preservation: Keeps selection objects intact through form processing
- Bidirectional Sync: Proper state management between form and component
Testing Strategy
Create tests covering:
- Configuration Validation - Valid/invalid option configurations
- Order Processing - Attribute validation during order creation
- Edge Cases - Unicode, special characters, empty values, malformed data
- Error Handling - JSON serialization compatibility, clear error messages
- Integration - Mixed field types, form submission end-to-end
Best Practices
- Follow Existing Patterns - Study similar option types before implementing
- Incremental Development - Implement backend validation first, then frontend
- Comprehensive Testing - Test all data paths and edge cases
- Error Prevention - Use TypeScript interfaces and runtime validation
- Documentation - Document configuration format and usage examples
Common Pitfalls
- JSON Serialization Errors - Always use string keys in error dictionaries
- Infinite Re-renders - Avoid objects in useEffect dependencies
- Form Integration Issues - Ensure proper
inputprop handling - Data Format Mismatches - Handle format differences between config/display/submission
- Validation Bypass - Don't forget to add your type to
FIELD_CLASSESmapping
Update Frontend Type Handlers
Add your new type to the OptionValueRenders object in the frontend:
File: src/marketplace/resources/options/OptionValue.tsx
1 2 3 4 | |
Important: If this step is missed, TypeScript compilation will fail with:
1 | |
Following this guide ensures your custom option type integrates seamlessly with Waldur's marketplace system and provides a consistent user experience.
Built-in Option Types
Component Multiplier
The component_multiplier option type allows users to input a value that gets automatically multiplied by a configurable factor to set limits for limit-based offering components.
Use Case
Perfect for scenarios where users need to specify resources in user-friendly units that need conversion:
- Storage: User enters "2 TB", automatically sets 100,000 inodes (2 × 50,000)
- Compute: User enters "4 cores", automatically sets 16 GB RAM (4 × 4)
- Network: User enters "100 Mbps", automatically sets bandwidth limits in bytes
Configuration
Backend Configuration (component_multiplier_config):
1 2 3 4 5 6 | |
Option Definition:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Behavior
- User Input: User enters a value (e.g., "2" for 2 TB)
- Frontend Multiplication: Value is multiplied by factor (2 × 50,000 = 100,000)
- Automatic Limit Setting: The calculated value (100,000) is automatically set as the limit for the specified component (
storage_inodes) - Validation: Frontend validates user input against
min_limitandmax_limitbefore multiplication
Requirements
- Component Dependency: Must reference an existing limit-based component (
billing_type: "limit") - Factor: Must be a positive integer ≥ 1
- Limits:
min_limitandmax_limitapply to user input, not the calculated result
Implementation Components
- Configuration:
ComponentMultiplierConfiguration.tsx- Admin interface for setting up the multiplier - User Field:
ComponentMultiplierField.tsx- User input field that handles multiplication and limit updates
Marketplace SLURM Partitions and Software Catalogs
This guide covers SLURM partition configuration and their integration with software catalogs in Waldur's marketplace.
Overview
SLURM partitions represent compute partitions in a cluster that can be associated with marketplace offerings. They define resource limits, scheduling policies, access controls, and optionally link to software catalogs for partition-specific software availability.
SLURM Partition Model
The OfferingPartition model maps closely to SLURM's partition_info_t struct and includes comprehensive configuration options for HPC environments.
Partition Parameters
CPU Configuration
cpu_bind: Default task binding policy (SLURM cpu_bind)def_cpu_per_gpu: Default CPUs allocated per GPUmax_cpus_per_node: Maximum allocated CPUs per nodemax_cpus_per_socket: Maximum allocated CPUs per socket
Memory Configuration (in MB)
def_mem_per_cpu: Default memory per CPUdef_mem_per_gpu: Default memory per GPUdef_mem_per_node: Default memory per nodemax_mem_per_cpu: Maximum memory per CPUmax_mem_per_node: Maximum memory per node
Time Limits
default_time: Default time limit in minutesmax_time: Maximum time limit in minutesgrace_time: Preemption grace time in seconds
Node Configuration
max_nodes: Maximum nodes per jobmin_nodes: Minimum nodes per jobexclusive_topo: Exclusive topology access requiredexclusive_user: Exclusive user access required
Scheduling Configuration
priority_tier: Priority tier for scheduling and preemptionqos: Quality of Service (QOS) namereq_resv: Require reservation for job allocation
Partition Management API
Available Endpoints
Partition management is handled through offering actions, similar to software catalog management:
add_partition: Add a new partition to an offeringupdate_partition: Update partition configurationremove_partition: Remove a partition from an offering
Add Partition to Offering
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Update Partition Configuration
1 2 3 4 5 6 7 8 9 | |
Remove Partition from Offering
1 2 3 4 5 6 7 | |
Partition Software Catalog Associations
Software catalogs can be optionally associated with specific partitions through the partition field in OfferingSoftwareCatalog. This enables partition-specific software availability, allowing different partitions to expose different software sets.
Associating Software Catalogs with Partitions
1 2 3 4 5 6 7 8 9 10 | |
Use Cases for Partition-Specific Software
- Architecture-Specific Partitions: GPU partitions with CUDA libraries, ARM partitions with ARM-optimized software
- License Management: Commercial software available only on specific partitions
- Performance Optimization: Different optimized builds for different hardware configurations
- Access Control: Research groups with access to specialized software on designated partitions
Example Workflow
Here's a complete example of setting up a GPU partition with specialized software:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Integration Considerations
SLURM Configuration Mapping
When configuring OfferingPartition models, ensure the parameters align with your actual SLURM cluster configuration:
- Resource Limits: Set realistic limits that match hardware capabilities
- QOS Integration: Ensure QOS names match those defined in SLURM
- Time Limits: Align with cluster policies and user expectations
- Architecture Targeting: Match CPU families/microarchitectures with actual hardware
Software Catalog Strategy
Consider these approaches when associating software catalogs with partitions:
- Global Catalog: Single catalog available across all partitions
- Partition-Specific: Different catalogs for different partition types
- Hybrid Approach: Base catalog globally + specialized catalogs per partition
Permissions
Partition Management (Offering Managers)
- OfferingPartition: Offering managers can create/modify SLURM partition configurations through offering actions
- Requires
UPDATE_OFFERINGpermission on the offering
Software Catalog Association (Offering Managers)
- OfferingSoftwareCatalog: Offering managers can associate catalogs with partitions through offering actions
- Must have
UPDATE_OFFERINGpermission on the offering
Related Documentation
- Marketplace Software Catalogs - Main software catalog documentation
Marketplace Software Catalogs
This guide covers the software catalog system in Waldur's marketplace, including support for EESSI (European Environment for Scientific Software Installations), Spack, and other software catalogs.
Overview
The software catalog system allows marketplace offerings to expose large collections of scientific and HPC software packages from external catalogs. Instead of manually tracking individual software installations, offerings can reference comprehensive software catalogs with thousands of packages. Waldur supports multiple catalog sources including:
- EESSI: Binary runtime environment with pre-compiled HPC software
- Spack: Source-based package manager for scientific computing
- Future support: conda-forge, modules, and custom catalogs
Architecture
Unified Catalog Loader Framework
Waldur uses a unified catalog loader framework that provides:
- BaseCatalogLoader: Abstract base class for all catalog loaders
- EESSICatalogLoader: Loader for EESSI catalogs from new API format
- SpackCatalogLoader: Loader for Spack catalogs from repology.json format
- Extensible design: Support for additional catalog types
Data Models
The system uses relational models for efficient storage and querying:
- SoftwareCatalog: Represents a software catalog (e.g., EESSI 2023.06, Spack 2024.12)
- SoftwarePackage: Individual software packages within catalogs
- SoftwareVersion: Specific versions of packages
- SoftwareTarget: Architecture/platform-specific installations or build variants
- OfferingSoftwareCatalog: Links offerings to available catalogs
Catalog Types
- binary_runtime: Pre-compiled software ready to use (EESSI)
- source_package: Source packages requiring compilation (Spack)
- package_manager: Traditional package managers (future: conda, pip)
- environment_module: Module-based software stacks
Loading Software Catalogs
EESSI Catalog Loading
The EESSI loader uses the new EESSI API format which supports both main software packages and extensions (Python packages, R packages, etc.).
Load EESSI Catalog
1 2 3 4 5 6 7 8 9 10 11 | |
EESSI Command Options
--catalog-name: Name of the software catalog (default: EESSI)--catalog-version: EESSI version (auto-detected from API if not provided)--api-url: Base URL for EESSI API (default: https://www.eessi.io/api_data/data/)--extensions/--no-extensions: Include/exclude extension packages (default: include)--dry-run: Show what would be done without making changes--update-existing: Update existing catalog data if it exists
Spack Catalog Loading
The Spack loader supports the repology.json format from packages.spack.io, providing access to thousands of scientific computing packages.
Load Spack Catalog
1 2 3 4 5 6 7 8 9 10 11 12 | |
Spack Command Options
--catalog-name: Name of the software catalog (default: Spack)--catalog-version: Spack version (auto-detected from data timestamp if not provided)--data-url: URL for Spack repology.json data--dry-run: Show what would be done without making changes--update-existing: Update existing catalog data if it exists
What Gets Created
Both loaders create:
- SoftwareCatalog entry with detected version and metadata
- SoftwarePackage entries for each software package
- SoftwareVersion entries for each package version
- SoftwareTarget entries for architecture/platform combinations or build variants
Automated Catalog Updates
Waldur provides automated daily updates for software catalogs through Celery tasks.
Configuration Settings
Configure automated updates through constance settings:
EESSI Settings
SOFTWARE_CATALOG_EESSI_UPDATE_ENABLED: Enable automated EESSI updates (default: true)SOFTWARE_CATALOG_EESSI_VERSION: EESSI version to load (auto-detect if empty)SOFTWARE_CATALOG_EESSI_API_URL: Base URL for EESSI API dataSOFTWARE_CATALOG_EESSI_INCLUDE_EXTENSIONS: Include Python/R extensions (default: true)
Spack Settings
SOFTWARE_CATALOG_SPACK_UPDATE_ENABLED: Enable automated Spack updates (default: true)SOFTWARE_CATALOG_SPACK_VERSION: Spack version to load (auto-detect if empty)SOFTWARE_CATALOG_SPACK_DATA_URL: URL for Spack repology.json data
General Settings
SOFTWARE_CATALOG_UPDATE_EXISTING_PACKAGES: Update existing packages during refresh (default: true)SOFTWARE_CATALOG_CLEANUP_ENABLED: Enable automatic cleanup of old catalog data (default: false)SOFTWARE_CATALOG_RETENTION_DAYS: Number of days to retain old catalog versions (default: 90)
Scheduled Updates
The update_software_catalogs task runs daily at 3 AM and:
- Independent Processing: Each catalog is updated independently - failures don't affect other catalogs
- Configuration Validation: Validates settings before attempting updates
- Error Isolation: Individual catalog failures are logged but don't prevent other updates
- Comprehensive Logging: Detailed logging for monitoring and troubleshooting
Manual Trigger
You can manually trigger catalog updates:
1 2 | |
Associate Catalogs with Offerings
Link the loaded software catalogs to your marketplace offerings:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Understanding Software Catalog Targets
EESSI Architecture Targets
EESSI provides software optimized for different CPU architectures and microarchitectures:
Common CPU Targets
x86_64/generic- General x86_64 compatibilityx86_64/intel/haswell- Intel Haswell and newerx86_64/intel/skylake_avx512- Intel Skylake with AVX-512x86_64/amd/zen2- AMD Zen2 architecturex86_64/amd/zen3- AMD Zen3 architectureaarch64/generic- General ARM64 compatibilityaarch64/neoverse_n1- ARM Neoverse N1 cores
EESSI Extension Support
The new EESSI API format includes support for extension packages:
- Python packages: NumPy, SciPy, TensorFlow, PyTorch, etc.
- R packages: Bioconductor, CRAN packages
- Perl modules: CPAN modules
- Ruby gems: Scientific Ruby libraries
- Octave packages: Signal processing, optimization
Extensions are linked to their parent software (e.g., Python packages linked to Python installation).
Spack Build Variants
Spack supports flexible build configurations through targets:
Target Types
build_variant/default- Standard build configurationplatform/windows- Windows-compatible packagesexternal/system- System-provided packages (detectable)build_system/build-tool- Build tools and compilers
Spack Categories
build-tools- Compilers, build systems, make toolsdetectable- Externally provided packageswindows- Windows compatibility- Custom categories based on package metadata
Why Targets Matter
- Performance: Architecture-specific builds can be 20-50% faster
- Compatibility: Ensures software runs on target hardware
- Instruction Sets: Leverages specific CPU features (AVX, NEON, etc.)
- HPC Requirements: Critical for scientific computing workloads
- Build Flexibility: Spack provides multiple build configurations
Available API Endpoints
The software catalog system provides the following API endpoints:
- marketplace-software-catalogs: View and manage software catalogs
- marketplace-software-packages: Browse software packages within catalogs
- marketplace-software-versions: View software versions for packages
- marketplace-software-targets: View architecture-specific installations
Software Catalog Management Actions
Offering-software catalog associations are managed through offering actions:
add_software_catalog: Associate a catalog with an offeringupdate_software_catalog: Update catalog configuration for an offeringremove_software_catalog: Remove catalog association from offering
These actions are available on the marketplace-provider-offerings endpoint.
API Usage
Browse Available Catalogs
1 2 3 4 5 | |
Example response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Browse Software Packages
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Example response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Package Detail with Nested Versions and Targets
When viewing package details, the response includes nested versions with their targets and EESSI-specific metadata:
1 2 | |
Example detailed response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | |
Version Response Fields (EESSI)
| Field | Type | Description |
|---|---|---|
module |
object | Structured module information with full_module_name, module_name, module_version |
required_modules |
array | List of required module objects with structured info |
extensions |
array | Bundled extensions (e.g., Python packages) with type, name, version |
toolchain |
object | Toolchain info with name and version |
toolchain_families_compatibility |
array | List of compatible toolchain families |
targets |
array | Available architecture targets |
Browse Software Versions
1 2 3 4 5 | |
Browse Installation Targets
1 2 3 4 5 6 7 8 | |
Linking Catalogs to Offerings
Associate Catalog with Offering
Offering-software catalog associations are managed through offering actions, not a separate endpoint:
1 2 3 4 5 6 7 8 9 | |
Update Offering Software Catalog Configuration
1 2 3 4 5 6 7 8 9 | |
Remove Software Catalog from Offering
1 2 3 4 5 6 7 | |
Query Offering Software
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | |
Key Fields
| Field | Type | Description |
|---|---|---|
module |
object | Structured module info: full_module_name, module_name, module_version |
required_modules |
array of objects | Each with full_module_name, module_name, module_version |
extensions |
array | Bundled packages with type, name, version |
toolchain_families_compatibility |
array | Compatible toolchain families (e.g., "2023b_foss") |
Extension Structure
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | |
Spack Repology Format
Spack uses the repology.json format from packages.spack.io:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Catalog Metadata Comparison
| Feature | EESSI | Spack |
|---|---|---|
| Format | New API (JSON) | Repology (JSON) |
| Type | Binary runtime | Source packages |
| Architecture Support | CPU-specific builds | Build variants |
| Extensions | Python, R, Perl, etc. | Dependencies only |
| Toolchain Info | Full toolchain details | Build dependencies |
| Installation Paths | CVMFS paths | Download URLs |
| Categories | Scientific domains | Package types |
| Updates | API timestamp | Git commit date |
SLURM Partitions and Software Catalogs
For detailed information about SLURM partition configuration and their integration with software catalogs, see the dedicated Marketplace SLURM Partitions guide.
This includes: - SLURM partition model configuration - Partition management APIs (add, update, remove) - Partition-specific software catalog associations - CPU architecture targeting for different partitions
Developer's Guide to OpenAPI Schema Generation in Waldur
This document provides an in-depth explanation of our approach to generating a high-quality OpenAPI 3 schema for the Waldur API using drf-spectacular. A well-defined schema is critical for API documentation, client generation, automated testing, and providing a clear contract for our API consumers.
We heavily customize drf-spectacular's default behavior to produce a schema that is not only accurate but also rich with metadata, developer-friendly, and reflective of Waldur's specific architecture and conventions.
Quick Reference
Which tool should I use?
| Task | Solution |
|---|---|
| Add/modify parameters for one endpoint | @extend_schema decorator on view method |
| Custom serializer field representation | Extension in openapi_extensions.py |
| Filter which endpoints appear in schema | disabled_actions on ViewSet or modify openapi_generators.py |
| Schema-wide transformations | Hook in schema_hooks.py |
| Document authentication schemes | Authentication extension in openapi_extensions.py |
Validation command:
1 | |
1. Architectural Overview
drf-spectacular generates a schema by introspecting your Django Rest Framework project. Our customizations hook into this process at four key stages, each handled by a different component:
| Component | File | Responsibility | When to Use |
|---|---|---|---|
| Endpoint Enumerator | openapi_generators.py |
Discovering Endpoints. Controls which API endpoints and methods are included in the schema. | When you need to globally filter out views or methods based on a project-specific convention (e.g., a disabled_actions property on a viewset). |
Schema Inspector (AutoSchema) |
openapi_inspector.py |
Analyzing Individual Endpoints. The main workhorse. It inspects a single view/method to determine its parameters, request/response bodies, description, operation ID, and other details. | For the majority of customizations related to a specific endpoint's representation, like adding custom parameters, modifying descriptions, or adding vendor extensions. |
| Extensions | openapi_extensions.py |
Handling Custom Components. Provides explicit schema definitions for custom classes (Authentication, Serializer Fields, Serializers) that drf-spectacular cannot introspect automatically. |
When you have a reusable custom class (e.g., GenericRelatedField) that needs a consistent representation across the entire schema. |
| Post-processing Hooks | schema_hooks.py |
Modifying the Final Schema. Functions that run on the fully generated schema just before it's rendered. They are used for global search-and-replace operations, refactoring, and complex structural changes. | For broad, cross-cutting changes like adding a header to all list endpoints, refactoring common parameters into components, or implementing complex polymorphic schemas. |
The generation process flows like this: Enumerator → Inspector (for each endpoint) → Extensions (as needed by Inspector) → Schema Hooks → Final OpenAPI YAML/JSON
2. The Core Inspector: WaldurOpenApiInspector
This class, located in openapi_inspector.py, is our custom subclass of AutoSchema and contains the most significant logic for tailoring the schema endpoint-by-endpoint.
Key Methods and Use-Cases
get_operation(...)
- Purpose: To enrich the generated "operation" object with Waldur-specific metadata and logic.
-
Edge Cases Handled:
- HEAD method for Lists: We map the
HEADHTTP method to a "count" operation for list views. The inspector provides a custom description and a simple200response. Crucially, it returnsNonefor detail views (/api/users/{uuid}/), effectively hiding this non-sensical operation. - Custom Permissions Metadata: This is a powerful feature for our frontend developers. If a view action has a
_permissionsattribute (e.g.,create_permissions), the inspector extracts this data and injects it into the schema under a customx-permissionsvendor extension. This allows the frontend to understand the permissions required for an action without hardcoding them.
1 2 3 4 5 6 7
# Example Output "/api/projects/": post: summary: "Create a new project" x-permissions: - permission: "project.create" scopes: ["customer"] - HEAD method for Lists: We map the
get_description()
- Purpose: To pull the docstring from the correct viewset action (
create,retrieve,my_action) rather than from the view class itself. - Convention: Developers must write clear, concise docstrings on viewset action methods. These docstrings are what users will see in the API documentation.
get_operation_id()
- Purpose: To generate clean, predictable, and code-generator-friendly operation IDs.
- Convention: The default behavior is modified to produce IDs like
projects_list,projects_create,projects_retrieve. A special case for non-createPOSTactions (e.g., custom actions) uses a shorter format to avoid redundancy. This consistency is vital for generated API clients.
get_override_parameters()
- Purpose: To dynamically add query parameters based on the response serializer.
- Use-Case: Our
RestrictedSerializerMixinallows users to request a subset of fields via thefieldquery parameter (e.g.,?field=name&field=uuid). This method introspects the response serializer, gets all its possible field names, and automatically generates theOpenApiParameterforfieldwith a completeenumof available values. This provides excellent auto-complete and validation in tools like Swagger UI.
_postprocess_serializer_schema(...)
- Purpose: To modify a serializer's schema after it has been generated.
- Use-Case: Our serializers can have an
optional_fieldsoverride. This method respects that override by removing those fields from therequiredarray in the final schema. This is a clean way to tweak serializer requirements for the API without complex serializer inheritance.
3. Specialized Handlers: Extensions
Located in openapi_extensions.py, these classes provide a modular way to handle custom components.
Authentication Extensions
WaldurTokenScheme: Mapswaldur_core.core.authentication.TokenAuthenticationto OpenAPI token auth scheme.WaldurSessionScheme: Mapswaldur_core.core.authentication.SessionAuthenticationto OpenAPI cookie auth scheme.OIDCAuthenticationScheme: Mapswaldur_core.core.authentication.OIDCAuthenticationto OpenAPI Bearer token scheme.
These extensions ensure our custom DRF authentication classes are correctly documented as standard OpenAPI security schemes.
Field Extensions
GenericRelatedFieldExtension:- Problem:
drf-spectaculardoesn't know how to represent our customGenericRelatedField. -
Solution: This extension tells the generator to simply represent it as a
string(which, in our case, is a URL). This avoids schema generation errors and provides a simple, accurate representation. -
IPAddressFieldExtension: - Problem: DRF's
IPAddressFieldsupports three protocols:ipv4,ipv6, andboth(default). The default introspection doesn't capture this nuance. - Solution: This extension generates appropriate schemas based on the field's
protocolattribute:protocol="ipv4"→{"type": "string", "format": "ipv4"}protocol="ipv6"→{"type": "string", "format": "ipv6"}protocol="both"→oneOfwith both IPv4 and IPv6 formats
Creating Custom Extensions
When you need to handle a custom class that drf-spectacular cannot introspect:
1 2 3 4 5 6 7 8 | |
4. Endpoint Discovery: WaldurEndpointEnumerator
Located in openapi_generators.py, this class controls which endpoints are included in the schema.
- Purpose: The default enumerator might include all possible HTTP methods that a view could support. Our
WaldurEndpointEnumeratoris smarter. - Mechanism: It respects the
disabled_actionslist property on our viewsets. If an action (e.g.,'destroy') is indisabled_actions, the corresponding method (DELETE) will be excluded from the schema for that endpoint. - Convention: To disable an API endpoint, add its action name to the
disabled_actionslist on theViewSet. The API documentation will automatically update to reflect this.
5. Global Transformations: Schema Hooks
Located in schema_hooks.py, these functions perform powerful, sweeping modifications to the entire generated schema. They are the last step in the process.
- Design Principle: Use hooks for cross-cutting concerns that affect many endpoints, or for complex transformations that are difficult to achieve within the inspector.
Key Hooks and Their Purpose
refactor_pagination_parameters:- Best Practice: This hook implements the DRY (Don't Repeat Yourself) principle. It finds all instances of
pageandpage_sizeparameters, moves their definition to the global#/components/parameters/section, and replaces the inline definitions with$refpointers. This reduces schema size and improves consistency. add_result_count_header:- Purpose: To document that all our paginated list endpoints return the
x-result-countheader. - Mechanism: It identifies list endpoints (by checking if
operationIdends in_list), defines a reusable header in#/components/headers/, and adds a reference to it in the2xxresponses of those endpoints.
- Purpose: To document that all our paginated list endpoints return the
make_fields_optional:- Problem: Endpoints using
RestrictedSerializerMixincan return a variable subset of fields. How do we represent this? - Solution: This hook finds any operation that has a
fieldquery parameter. For those operations, it recursively traverses their response schemas and removes therequiredproperty from all objects. This correctly signals to API consumers that any field might be absent if not explicitly requested.
- Problem: Endpoints using
transform_paginated_arrays:- Purpose: To simplify the schema structure for paginated responses.
- Mechanism:
drf-spectacularoften creates named components likePaginatedUserList. This hook finds all such components, inlines their array definition wherever they are referenced, and then removes the original component definition. The result is a slightly more verbose but flatter and often easier-to-understand schema for the end-user.
add_polymorphic_attributes_schema:- This is the most advanced and powerful hook in our arsenal.
- Problem: The
attributesfield on the "Create Order" endpoint is polymorphic. Its structure depends entirely on theoffering_typeof the marketplace offering. - Solution: We use OpenAPI's
oneOfkeyword to represent this polymorphism. - Mechanism: The hook acts as a pre-processing step. It dynamically:
- Iterates through all registered marketplace plugins (
waldur_mastermind.marketplace.plugins). - For each plugin, it finds the serializer responsible for validating the
attributesfield. - It uses a temporary
AutoSchemainstance to generate a schema for that specific serializer's fields. - It adds this generated schema to
#/components/schemas/with a unique name (e.g.,OpenStackInstanceCreateOrderAttributes). - Finally, it modifies the
OrderCreateRequestschema to replace theattributesfield with aoneOfthat references all the dynamically generated schemas, plus a generic fallback.
- Iterates through all registered marketplace plugins (
- Architectural Significance: This demonstrates how hooks can be used to generate schema fragments dynamically by introspecting parts of the application (in this case, the plugin system) that are outside the immediate scope of a DRF view.
- Other Hooks:
postprocess_drop_description,postprocess_fix_enum,remove_waldur_cookie_auth,adjust_request_body_content_typesare utility hooks for cleaning up and standardizing the final output.
6. Query Parameters and Enum Definitions
Ordering Parameters
When implementing ordering functionality for API endpoints, proper OpenAPI schema documentation is crucial for API consumers. Waldur uses the convention of o as the ordering parameter name (configured in ORDERING_PARAM).
Best Practice: Explicit Enum Definitions
Instead of using a generic str type for ordering parameters, define explicit enums that list all supported ordering fields:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
This approach generates proper OpenAPI schema:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Benefits
- API Documentation: Clear enumeration of supported ordering fields
- Client Generation: Generated clients include proper validation and auto-completion
- Frontend Integration: UI components can dynamically generate ordering controls
- API Testing: Testing tools can validate ordering parameters automatically
Implementation Pattern
- Define the enum schema in the
@extend_schemadecorator - Include both ascending and descending options (prefix with
-for descending) - Map to database fields in your filtering logic:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
7. Best Practices and Conventions
- Docstrings are the Source of Truth: Write clear docstrings on viewset action methods. They become the official API descriptions.
- Use the Right Tool for the Job:
- View-specific logic? Use the
WaldurOpenApiInspector. - Reusable custom class? Create an
Extension. - Global rule for filtering endpoints? Modify the
WaldurEndpointEnumerator. - Schema-wide refactoring or complex polymorphism? Write a
postprocessing_hook. - Leverage View Attributes for Metadata: We use view attributes like
create_permissionsanddisabled_actionsto control schema generation. This co-locates API behavior and its documentation, making the code easier to maintain. - Define Explicit Enums for Query Parameters: For parameters like ordering (
o), filtering, or status selection, always define explicit enum values in the schema instead of generic string types. This provides better documentation, client generation, and validation. - Embrace Vendor Extensions (
x-): For custom metadata that doesn't fit the OpenAPI standard (like ourx-permissions), vendor extensions are the correct and standard way to include it. - Strive for DRY Schemas: Use hooks like
refactor_pagination_parametersto create reusable components (parameters,headers,schemas). This keeps the schema clean and consistent. - Handle Polymorphism with Hooks: For complex conditional schemas (
oneOf,anyOf), post-processing hooks are the most flexible and powerful tool available, as demonstrated byadd_polymorphic_attributes_schema. - Simplify for the Consumer: Use extensions (
OpenStackNestedSecurityGroupSerializerExtension) and hooks (transform_paginated_arrays) to simplify complex or deeply nested objects where the full detail is unnecessary for the API consumer. The goal is a schema that is not just accurate, but also usable.
8. The OpenAPI Schema in the Broader Workflow
The OpenAPI schema is not merely a documentation artifact; it is a critical, machine-readable contract that drives a significant portion of our development, testing, and release workflows. Our CI/CD pipelines are built around the schema as the single source of truth for the API's structure.
The entire automated process is defined in the GitLab CI configurations for the waldur-mastermind and waldur-docs repositories.
1. Automated Generation
The process begins in the waldur-mastermind pipeline in a job named Generate OpenAPI schema.
- Triggers: This job runs automatically in two scenarios:
- On a schedule for the
developbranch: This ensures we always have an up-to-date schema reflecting the latest development state. - When a version tag is pushed (e.g.,
1.2.3): This generates a stable, versioned schema for a specific release.
- On a schedule for the
- Output: The job produces a versioned
waldur-openapi-schema.yamlfile, which is stored as a CI artifact. This artifact becomes the input for all subsequent steps.
2. Automated SDK and Tooling Generation
The generated schema artifact immediately triggers a series of parallel jobs, each responsible for generating a specific client SDK or tool. This "schema-first" approach ensures that our client libraries are always perfectly in sync with the API they are meant to consume.
Generate TypeScript SDK: For Waldur HomePort and other web frontends.Generate Python SDK: For scripting, integrations, and internal tools.Generate Go SDK: For command-line tools and backend services.Generate Ansible modules: Creates Ansible collections for configuration management and automation.
3. Continuous Delivery of SDKs
For development builds (from the develop branch), the newly generated SDKs are automatically committed and pushed to the main or develop branch of their respective GitHub repositories. This provides a continuous delivery pipeline for our API clients, allowing developers to immediately access and test the latest API changes through their preferred language.
4. Release and Versioning Workflow
For tagged releases, the workflow is more extensive:
- API Diff Generation: A job named
Generate OpenAPI schema diffis triggered. It fetches the schema of the previous release from thewaldur-docsrepository and compares it against the newly generated schema usingoasdiff. It produces a human-readable Markdown file (openapi-diff.md) detailing exactly what has changed (endpoints added, fields removed, etc.). - Documentation Deployment: The new versioned schema (
waldur-openapi-schema-1.2.3.yaml) and the diff file are automatically committed to thewaldur-docsrepository. The documentation site is then rebuilt, archiving the new schema and making the API changes visible in the release notes. - Changelog Integration: The main
CHANGELOG.mdin thewaldur-docsrepository is automatically updated with links to the new schema file and the API diff page. This provides unparalleled clarity for integrators, showing them precisely what changed in a new release. - SDK Release: The tagged version of each SDK is released, often involving bumping the version in configuration files (
pyproject.toml,package.json) and pushing a corresponding version tag to the SDK's repository.
This automated, schema-driven workflow provides immense benefits:
- Consistency: All clients and documentation are generated from the same source, eliminating discrepancies.
- Speed: Developers get up-to-date SDKs without manual intervention, accelerating the development cycle.
- Reliability: The risk of human error in writing client code or documenting changes is significantly reduced.
- Clarity: Release notes are precise and automatically generated, giving integrators clear instructions on what to expect.
Demo Presets
Demo presets provide pre-configured data sets for demonstrations, testing, and development. Each preset contains users, organizations, projects, offerings, resources, and usage data.
Available Presets
| Preset | Description |
|---|---|
minimal_quickstart |
Basic setup for quick demos and testing |
government_cloud |
GDPR-compliant cloud services for public sector |
research_institution |
HPC and research computing environment |
hpc_ai_platform |
GPU clusters and AI/ML workloads |
Management Commands
List Available Presets
1 2 | |
View Preset Details
1 | |
Load a Preset
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
After loading, the command displays user credentials:
1 2 3 4 5 6 7 8 9 | |
Export Current State
1 | |
REST API
List Presets
1 2 | |
Get Preset Details
1 2 | |
Load Preset
1 2 3 4 5 6 7 8 9 10 | |
Response includes user credentials:
1 2 3 4 5 6 7 8 9 | |
Preset Contents
Each preset JSON file includes:
_metadata- Title, description, version, scenariosusers- User accounts with passwordscustomers- Organizationsprojects- Projects within organizationsofferings- Service offerings with componentsplans- Pricing plansresources- Provisioned resourcescomponent_usages- Usage data per billing periodcomponent_user_usages- Per-user usage breakdownuser_roles- Role assignmentsconstance_settings- Site configuration
Creating Custom Presets
- Export current state or copy an existing preset
- Place JSON file in
src/waldur_mastermind/marketplace/demo_presets/presets/ - Add
_metadatasection with title, description, version - Ensure all UUIDs are unique 32-character hex strings
UUID Format
UUIDs must be exactly 32 hexadecimal characters (0-9, a-f):
1 | |
User Passwords
Include plaintext passwords in the users array:
1 2 3 4 5 | |
File Location
Presets are stored in:
1 | |
Declaring resource actions
Any methods on the resource viewset decorated with
@action(detail=True, methods=['post']) will be recognized as resource
actions. For example:
1 2 3 4 5 6 7 8 9 | |
Complex actions and serializers
If your action uses serializer to parse complex data, you should declare action-specific serializers on the resource viewset. For example:
1 2 3 4 | |
Resource History API
This guide covers resource-specific details for version history tracking. For general information about the Version History API, see Version History API.
Overview
Marketplace Resources have comprehensive version tracking that captures all modifications to resource configuration, state, and metadata.
Endpoints
1 2 3 4 5 | |
See Version History API for query parameters and response format details.
Tracked Fields
The following resource fields are tracked in version history:
| Field | Description |
|---|---|
name |
Resource display name |
description |
Resource description |
slug |
URL-friendly identifier |
state |
Current state (Creating, OK, Erred, etc.) |
limits |
Resource quotas and limits |
attributes |
Offering-specific attributes |
options |
User-configurable options |
cost |
Current monthly cost |
end_date |
Scheduled termination date |
downscaled |
Whether resource is downscaled |
restrict_member_access |
Access restriction flag |
paused |
Whether resource is paused |
plan |
Associated pricing plan |
Example Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
Actions That Create History
The following operations create version history entries:
| Action | Revision Comment |
|---|---|
| Resource update | Updated via REST API |
set_slug |
Slug changed to |
set_downscaled |
Downscaled changed to |
set_paused |
Paused changed to |
set_restrict_member_access |
Restrict member access changed to |
Django Admin Interface
The ResourceAdmin class inherits from VersionAdmin, providing a "History"
button in the Django admin interface. Staff users can:
- View all versions of a resource
- Compare differences between versions
- See who made each change and when
- Revert to a previous version (if needed)
Access the admin history at:
1 | |
Use Cases
Debugging Configuration Issues
When a resource behaves unexpectedly, check its history to see what changed:
1 2 | |
Investigating Cost Changes
Track when and why resource costs changed by filtering history:
1 2 3 | |
Point-in-Time Analysis
Check resource state before an incident:
1 2 3 | |
Related Documentation
- Version History API - General version history documentation
- Resource Actions - Custom resource actions
- Waldur Permissions - Permission system details
SLURM Periodic Usage Policy Configuration Guide
Overview
The SlurmPeriodicUsagePolicy enables automatic management of SLURM resource allocations with:
- Periodic (quarterly) usage tracking
- Automatic QoS adjustments based on usage thresholds
- Carryover of unused allocations with decay
- Grace periods for temporary overconsumption
- Integration with site agent for SLURM account management
Available Actions
Core Actions (Inherited from OfferingPolicy)
notify_organization_owners- Send email notifications to organization ownersnotify_external_user- Send notifications to external email addressesblock_creation_of_new_resources- Block creation of new SLURM resources
SLURM-Specific Actions
request_slurm_resource_downscaling- Apply slowdown QoS (setsresource.downscaled = True)request_slurm_resource_pausing- Apply blocked QoS (setsresource.paused = True)
How It Works
Threshold Triggers
The policy checks usage percentages and triggers actions at different thresholds:
- 80%: Notification threshold (hardcoded)
- 100%: Normal threshold - triggers
request_slurm_resource_downscaling - 120% (with 20% grace): Grace limit - triggers
request_slurm_resource_pausing
Site Agent Integration
When actions are triggered:
request_slurm_resource_downscaling→ Site agent appliesqos_downscaled(e.g., "limited")request_slurm_resource_pausing→ Site agent appliesqos_paused(e.g., "paused")- Normal state → Site agent applies
qos_default(e.g., "normal")
Configuration Examples
1. Basic Notification Policy
Send notifications when usage reaches 80%:
1 2 3 4 5 6 7 8 9 | |
2. Progressive QoS Management
Apply slowdown at 100% usage with notifications:
1 2 3 4 5 6 7 | |
3. Full Enforcement Policy
Complete enforcement with notifications, slowdown, and blocking:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
4. Organization-Specific Policy
Apply policy only to specific organization groups:
1 2 3 4 5 6 7 8 9 10 | |
Site Agent Configuration
Configure the site agent to handle QoS changes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Policy Parameters
Core Parameters
apply_to_all:Truefor all customers,Falsefor specific groupsorganization_groups: Specific groups if not applying to allactions: Comma-separated list of actions to trigger
SLURM-Specific Parameters
limit_type:"GrpTRESMins","MaxTRESMins", or"GrpTRES"tres_billing_enabled: Use TRES billing units vs raw valuestres_billing_weights: Weight configuration for billing unitsfairshare_decay_half_life: Days for fairshare decay (default: 15)grace_ratio: Grace period ratio (0.2 = 20% overconsumption)carryover_enabled: Allow unused allocation carryoverraw_usage_reset: Reset SLURM raw usage at period transitionsqos_strategy:"threshold"or"progressive"
Usage Scenarios
Scenario 1: Academic Institution with Quarterly Allocations
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Scenario 2: Commercial Cloud with Strict Limits
1 2 3 4 5 6 7 8 | |
Scenario 3: Research Consortium with Flexible Limits
1 2 3 4 5 6 7 8 9 10 | |
API Usage
Create Policy via API
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Check Policy Status
1 2 | |
Monitoring and Troubleshooting
Check Resource Usage Percentage
1 2 3 4 5 | |
Verify Policy Triggers
1 2 3 4 | |
Debug Carryover Calculations
1 2 3 | |
Best Practices
- Start with Notifications: Begin with notification-only policies to understand usage patterns
- Test in Staging: Validate policies in a test environment first
- Monitor Grace Periods: Ensure grace ratios align with user needs
- Regular Review: Review carryover and decay settings quarterly
- Clear Communication: Inform users about thresholds and consequences
Troubleshooting Common Issues
Policy Not Triggering
- Check that
apply_to_all=Trueor resource's customer is inorganization_groups - Verify component usage data exists for the current period
- Ensure resource is not in TERMINATED state
QoS Not Changing
- Verify site agent configuration has correct QoS names
- Check site agent logs for SLURM command execution
- Ensure resource backend_id matches SLURM account name
Incorrect Usage Calculations
- Review carryover settings and decay factor
- Check billing period alignment (quarterly boundaries)
- Verify component type matches between policy and usage data
Migration from Manual Management
For organizations transitioning from manual SLURM management:
- Audit Current Allocations: Document existing quotas and QoS settings
- Create Initial Policies: Start with generous grace periods
- Enable Notifications First: Monitor before enforcing
- Gradual Enforcement: Phase in QoS changes over 2-3 quarters
- User Training: Educate users about automatic management
This configuration guide provides a complete framework for implementing automatic SLURM resource management through periodic usage policies.
Version History API
This guide explains the Version History API which provides version tracking for various Waldur objects using django-reversion.
Overview
The Version History API enables auditing and debugging by maintaining a complete change history for key Waldur entities. Every modification to tracked fields creates a timestamped snapshot that can be queried via the API.
Use cases:
- Audit trail for compliance requirements
- Debugging configuration issues
- Tracking changes over time
- Investigating state transitions
- Point-in-time recovery analysis
Supported Models
The following models have version history endpoints:
| Model | Endpoint | Description |
|---|---|---|
| Customer | /api/customers/{uuid}/history/ |
Organization accounts |
| User | /api/users/{uuid}/history/ |
User accounts |
| SSH Key | /api/keys/{uuid}/history/ |
SSH public keys |
| Offering | /api/marketplace-provider-offerings/{uuid}/history/ |
Service offerings |
| Plan | /api/marketplace-provider-plans/{uuid}/history/ |
Pricing plans |
| Resource | /api/marketplace-resources/{uuid}/history/ |
Marketplace resources |
| Invoice | /api/invoices/{uuid}/history/ |
Billing invoices |
Architecture
graph TD
A[Object Change] --> B[django-reversion]
B --> C[Version Record]
C --> D[PostgreSQL]
E[History API] --> D
E --> F[Paginated Response]
The system uses django-reversion to capture object snapshots on save operations. Each version stores:
- Serialized field data
- Timestamp of the change
- User who made the change (if authenticated)
- Revision comment describing the change
API Endpoints
All models with version history support two endpoints:
List Version History
Returns paginated version history for an object, ordered by most recent first.
1 | |
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
created_before |
ISO 8601 timestamp | Filter versions created before this time |
created_after |
ISO 8601 timestamp | Filter versions created after this time |
Example Request:
1 2 | |
Example Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Get Object State at Timestamp
Returns the object state as it existed at a specific point in time.
1 | |
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
timestamp |
ISO 8601 timestamp | Yes | Point in time to query |
Example Request:
1 2 | |
Example Response (200 OK):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Error Responses:
| Status | Condition |
|---|---|
| 400 | Missing or invalid timestamp parameter |
| 404 | No version exists before the specified timestamp |
Response Format
The VersionHistorySerializer returns these fields:
| Field | Type | Description |
|---|---|---|
id |
integer | Version record ID |
revision_date |
datetime | When the change was recorded |
revision_user |
object/null | User who made the change |
revision_comment |
string | Description of the change |
serialized_data |
object | Snapshot of object fields |
The revision_user object contains:
| Field | Type | Description |
|---|---|---|
uuid |
UUID | User identifier |
username |
string | Login username |
full_name |
string | Display name |
Permissions
Access to history endpoints is restricted to:
- Staff users - Global administrators
- Support users - Global support personnel
Regular users (owners, admins, managers, members) cannot access version history.
Filtering Examples
Get changes in a date range
1 2 3 | |
Get state before an incident
1 2 3 | |
Compare customer state over time
1 2 3 4 5 6 7 8 | |
Model-Specific Details
Resources
Resources have additional tracked fields specific to marketplace operations. See Resource History API for details on:
- Tracked resource fields (limits, attributes, cost, etc.)
- Actions that create history entries
- Django admin integration
Customers
Tracked fields include:
name,native_name,abbreviationcontact_details,emailregistration_code,agreement_numbercountry,vat_code
Users
Tracked fields include:
username,emailfirst_name,last_name,native_nameorganization,job_titleis_active,is_staff,is_support
Offerings
Tracked fields include:
name,descriptionterms_of_service,terms_of_service_linkprivacy_policy_linkstate,paused_reason
Plans
Tracked fields include:
name,descriptionunit_price,unitmax_amount,archived
Invoices
Tracked fields include:
state,year,monthtax_percentcustomerreference
Implementation Notes
The version history functionality is implemented via HistoryViewSetMixin in
waldur_core.core.views. This mixin can be added to any ViewSet whose model
is registered with django-reversion.
To add history endpoints to a new ViewSet:
- Register the model with django-reversion:
1 2 | |
- Add the mixin to the ViewSet:
1 2 3 4 | |
- Optionally customize the serializer:
1 2 | |
Related Documentation
- Resource History API - Resource-specific history details
- Waldur Permissions - Permission system details
Waldur Django Architecture
Project Structure Overview
Waldur MasterMind is a Django-based cloud orchestration platform built with a highly modular, plugin-based architecture demonstrating advanced Django patterns and enterprise-level design principles.
Settings Configuration
- Hierarchical Settings:
base_settings.py(core) →settings.py(local) → specialized settings - Extension System: Automatic discovery and registration of plugins via WaldurExtension
- Multi-database: PostgreSQL primary with optional read replicas
- REST Framework: Custom authentication (Token, SAML2, OIDC, OAuth)
- Celery Integration: Distributed task processing with priority queues
Django Apps Organization
Core Layer (waldur_core/)
core: Foundation with extension system, base models, authenticationstructure: Organizational hierarchy (customers → projects → resources)users: User management with profilespermissions: Role-based access control with hierarchical scopingquotas: Resource quota managementlogging: Event logging and audit trail
Business Logic Layer (waldur_mastermind/)
marketplace: Central service catalog and provisioning (assembly app)billing: Financial management and invoicingsupport: Integrated support ticket systemanalytics: Usage analytics and reporting
Provider Integration Layer
- Cloud Providers: OpenStack, AWS, Azure, VMware, DigitalOcean
- Compute Platforms: Rancher, SLURM, Kubernetes
- Authentication: SAML2, Social/OAuth, Valimo
URL Routing and API Structure
- Base Path: All REST endpoints under
/api/ - Router System:
SortedDefaultRouter+NestedSimpleRouterfor hierarchical resources - Naming Convention: Hyphenated resource names, UUID-based lookup
- Extension Registration: Automatic URL discovery through plugin system
Models, Serializers, and Views Architecture
Model Architecture
- Mixin-based Design:
UuidMixin,StateMixin,LoggableMixinfor code reuse - Hierarchical Structure: Customer → Project → Resource relationships
- State Management: FSM-based transitions with django-fsm
- Soft Deletion: Logical deletion for data retention
Serializer Patterns
AugmentedSerializerMixin: Dynamic field injection via signals- Permission Integration: Automatic queryset filtering
- Eager Loading: Query optimization through
eager_load()methods - Field Protection: Sensitive field protection during updates
- Related Fields: ALWAYS use SlugRelatedField with slug_field="uuid" instead of PrimaryKeyRelatedField
ViewSet Architecture
ActionsViewSet: Base class with action-specific serializersExecutorMixin: Asynchronous resource operations- Permission Integration: Automatic permission checking
- Atomic Transactions: Configurable transaction support
Authentication and Permissions
- Multi-modal Auth: Token, Session, OIDC, SAML2 support
- Impersonation: Staff user impersonation with audit trail
- RBAC System: Hierarchical role-based access control
- Scope-based Permissions: Customer/Project/Resource level permissions
- Time-based Roles: Role assignments with expiration
Signal Handlers
- Organization: Place signal handlers in dedicated
handlers.pyfiles, not in models.py - Registration: Register signals in
apps.pyready() method with proper dispatch_uid
Task Queue and Background Processing
- Celery Queues:
tasks,heavy,backgroundwith priority routing - Beat Scheduler: Scheduled task system (24+ tasks)
- Event Context: Thread-local context passing to background tasks
- Extension Tasks: Automatic task registration from plugins
Key Design Patterns
- Plugin Architecture: WaldurExtension base class for extensibility
- Assembly Pattern: Marketplace loaded last as it depends on others
- Factory Pattern: Extensions create Django apps dynamically
- Observer Pattern: Extensive use of Django signals
- State Machine: FSM-based resource state management
- Mixin Pattern: Code reuse through multiple inheritance
Architecture Strengths
- Modularity: Clean separation of concerns with extension system
- Scalability: Multi-tenant architecture with horizontal scaling
- Extensibility: Plugin system for easy provider addition
- Security: Authentication and authorization layers
- Auditability: Complete event logging and audit trail
- Maintainability: Consistent patterns and well-structured code
- Performance: Optimized queries and caching strategies
Waldur Code Style Guide
Import Organization
- Standards: Use
isortwith sections: future, standard-library, first-party, third-party, local-folder - Placement: ALWAYS place all imports at the top of the module
- Inline Imports: NEVER use inline imports within functions or methods (except for dynamic imports when absolutely necessary)
Formatting
- Formatter: Follow ruff formatting rules
- Line Length: Line length restrictions are ignored (E501)
- Indentation: Use 4 spaces, never tabs
Type Hints
- Version: Python 3.10+ compatibility
- Usage: Use type hints where possible
- Modern Syntax: Use
dict[str, str]instead ofDict[str, str]
Naming Conventions
- Functions/Variables: Use snake_case
- Classes: Use CamelCase
- Constants: Use UPPER_SNAKE_CASE
- Django Models: Follow Django conventions
- Private: Prefix with underscore for internal use
Error Handling
- Core Exceptions: Use exceptions from
waldur_core.core.exceptions - Logging: Add appropriate logging for errors
- Context: Include debugging context in error messages
- Re-raising: Preserve original traceback when re-raising
Documentation
- Docstrings: Required for public methods and classes
- Comments: Avoid unnecessary comments - code should be self-documenting
- TODO: Use
# TODO:format with description and owner
Testing
- Unit Tests: For complex functions
- API Tests: For all endpoints
- Directory Structure: Follow existing test directory structure
- Naming: Test files should match module names with
test_prefix
Serializers
- REST Conventions: Follow Django REST Framework patterns
- Relationships: Use HyperlinkedRelatedField for relationships
- Query Optimization: Implement
eager_load()methods - UUID Fields: ALWAYS use
SlugRelatedField(slug_field="uuid")instead of PrimaryKeyRelatedField
API Schema
- Type Annotations: Use modern syntax (e.g.,
dict[str, str]) - Response Documentation: Avoid verbose dictionary literals
- Simple Actions: Omit unnecessary
responses={status.HTTP_200_OK: None} - OpenAPI: Use
@extend_schemadecorators appropriately
Markdown Documentation
- Linting: ALL markdown must pass
mdl --style markdownlint-style.rb <path> - List Indentation: Use exactly 2 spaces for nested items
- Consistency: Maintain consistent formatting throughout
API Design Consistency
- Default Parameters: Choose defaults that match most common use case
- Error Hierarchy:
- Configuration errors (AttributeError) for invalid code/setup
- Permission errors (PermissionDenied) for access control
- Validation errors for user input
- Function Signatures: Document parameter behavior clearly, especially optional parameters
Important Guidelines
- No Emojis: Avoid emojis unless explicitly requested
- Avoid "Comprehensive": Don't use this word in documentation
- Incremental Changes: Make small, testable changes
- Existing Patterns: Follow established project patterns
Waldur Permission System Guide
Permission Factory Usage
ALWAYS use permission_factory instead of manual has_permission checks in ViewSets.
For ViewSet Actions
1 2 3 4 5 6 7 8 9 | |
Permission Factory Patterns
- Current Object:
permission_factory(PermissionEnum.PERMISSION_NAME)- no path needed - Related Object:
permission_factory(PermissionEnum.PERMISSION_NAME, ["customer"])- for related objects - Nested Path:
permission_factory(PermissionEnum.PERMISSION_NAME, ["project.customer"])- for nested relationships
For perform_create/perform_destroy Methods
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
When to Use Manual Checks
- Complex permission logic that doesn't map to standard object relationships
- Custom validation that requires dynamic permission targets
- Legacy code not yet refactored to declarative patterns
Permission System Behavior
Expiration Handling
- Basic permission queries (
get_users_with_permission,get_scope_ids) include all roles regardless of expiration - Expiration checking is explicit via
has_user(expiration_time=False), not implicit inhas_permission() - Use
has_user(expiration_time=current_time)for time-based validation
Error Handling
permission_factorydoesn't catchAttributeErrorand convert toPermissionDenied- Test for actual exceptions the system raises, not ideal ones
- Handle
AttributeErrorwhen accessing missing nested attributes
Data Accuracy Critical Areas
- User counting: Always use
distinct()on user_id to avoid double-counting users with multiple roles - Permission checks: Handle edge cases (None scope, missing attributes) gracefully
- Financial calculations: Never approximate - exact calculations required
Performance Optimization
Query Optimization Strategy
- Use
select_related()for foreign keys - Use
prefetch_related()for reverse relationships - Use
distinct()for deduplication instead of manual logic - Accept 20-30 queries for complex operations rather than approximations
- Verify permission checks use reasonable query counts (≤3 for most operations)
Waldur Testing Guide
Test Writing Best Practices
1. Understand Actual System Behavior
- Always verify actual behavior before writing tests - Don't assume how the system should work
- Test what the system actually does, not what you think it should do
- Example: Basic permission queries don't automatically filter expired roles
2. Use Existing Fixtures and Factories
- Always use established fixtures - Don't invent your own role names
- Use
CustomerRole.SUPPORTnotCustomerRole.MANAGER(which doesn't exist) - Use
fixtures.ProjectFixture()for consistent test setup with proper relationships - Use
factories.UserFactory()for creating test users with proper defaults
3. Error Handling Reality Check
- Test for actual exceptions, not ideal ones
- If the system raises
AttributeErrorfor missing attributes, test forAttributeError - Only test for
PermissionDeniedwhen the system actually catches and converts errors
4. Mock Objects for Complex Testing
- Use Mock objects effectively for nested permission paths
- Create realistic mock structures:
mock_resource.project.customer = self.customer - Test permission factory with multiple source paths:
["direct_customer", "project.customer"] - Mock objects help test complex scenarios without database overhead
5. Time-Based Testing Patterns
- Understand explicit vs implicit time checking
- Basic
has_permission()doesn't check expiration times automatically - Test boundary conditions: exact expiration time, microseconds past expiration
- Create roles with
timezone.now() ± timedelta()for realistic time testing
6. Integration vs Unit Test Strategy
- Use integration tests for workflows, unit tests for utilities
- Test complete permission flows: role creation → permission assignment → permission checking
- Use
APITransactionTestCasefor integration tests requiring database transactions - Use
TestCasefor simple unit tests of utility functions
7. Performance Testing Considerations
- Include query optimization tests where appropriate
- Use
override_settings(DEBUG=True)to count database queries - Test with multiple users/roles to ensure performance doesn't degrade
8. System Role Protection
- Test that system roles work correctly even when modified
- System roles like
CustomerRole.OWNERshould maintain functionality - Test that role modifications don't break core functionality
- Verify that predefined roles have expected permissions
9. Edge Case Testing
- Test None values, missing attributes, and circular references
- Handle
AttributeErrorwhen accessing missing nested attributes - Test with inactive users, deleted roles, removed permissions
- Verify behavior with complex nested object hierarchies
Test Guidelines
- Test behavior, not implementation
- One assertion per test when possible
- Clear test names describing scenario
- Use existing test utilities/helpers
- Tests should be deterministic
Debugging Complex Systems
When fixing performance or accuracy issues:
- Isolate the problem:
- Run individual failing tests to understand specific issues
- Use
pytest -v -sfor verbose output with print statements -
Check if multiple tests fail for the same underlying reason
-
Understand test expectations:
- Read test comments carefully - they often explain intended behavior
- Check if tests expect specific error types
-
Look for conflicting expectations between test suites
-
Fix systematically:
- Fix one root cause at a time
- After each fix, run full test suite to check for regressions
-
Update related tests for consistency when changing behavior
-
API changes require test updates:
- When changing function signatures or default parameters, expect test failures
- Update tests for consistency rather than reverting functional improvements
- Document parameter behavior changes clearly
Development guidelines
Flow for feature tasks
- Create a new branch from develop
1 2 3 | |
- Perform brilliant work (don't forget about tests!)
- Verify that tests are passing.
- Push all changes to origin (https://code.opennodecloud.com/)
- Create a Merge Request and assign it to a reviewer. Make sure that MR can be merged automatically. If not, resolve the conflicts by merging develop branch into yours:
1 2 | |
- Resolve ticket in JIRA.
Ended: Guides
Ui ↵
API Integration Guide
This guide covers data loading patterns, API client usage, and refresh mechanisms for integrating with the Waldur MasterMind backend.
API Data Loading and Refresh Patterns
The application uses multiple approaches for loading data from REST APIs in forms and handling data refresh operations, showing evolution from legacy Redux patterns to modern React Query implementations.
Data Loading Patterns
React Query/TanStack Query (Modern Approach)
The preferred pattern for new components uses React Query for efficient data fetching:
1 2 3 4 5 6 7 8 9 10 | |
Key Features:
- Automatic Caching: 5-minute stale time for most queries
- Built-in Loading States:
isLoading,error,data - Manual Refresh:
refetch()function for explicit updates - Query Invalidation: Cache invalidation through query keys
- Background Refetching: Automatic background updates
Custom Hook Pattern
Centralized data fetching logic wrapped in reusable hooks:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Benefits:
- Business Logic Integration: Transforms data for UI consumption
- Computed Properties: Adds disabled states and tooltips
- Reusability: Shared across multiple components
- Centralized Error Handling: Consistent error management
Redux/Redux Saga Pattern (Legacy)
Used primarily for table data management:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Characteristics:
- Centralized State: Redux store for table data
- Automatic Pagination: Built-in pagination and filtering
- Request Cancellation: AbortController support
- Periodic Polling: Configurable refresh intervals
Data Refresh Mechanisms
CRUD Operations Refresh
Create Operations:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Edit Operations:
1 2 3 4 5 6 | |
Delete Operations:
1 2 3 4 5 6 | |
Refresh Strategies
| Strategy | Implementation | Use Case |
|---|---|---|
| Explicit Refetch | const { refetch } = useQuery(...); await refetch(); |
Manual refresh after CRUD operations |
| Table Refresh Button | <TableRefreshButton onClick={() => props.fetch(true)} /> |
User-initiated refresh |
| Automatic Polling | pullInterval in Redux saga |
Real-time data updates |
| Query Invalidation | queryClient.invalidateQueries(['queryKey']) |
Cache invalidation |
Error Handling and Loading States
Consistent Error Display
1 2 3 4 5 6 7 8 9 10 | |
Global Error Handling
1 2 3 4 5 6 7 8 9 | |
API Integration Patterns
Waldur JS Client Integration
Primary API client with typed endpoints:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Async Form Field Loading
Dynamic data loading for form fields:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Caching Strategies
React Query Cache
- Query-based caching: Uses query keys for cache management
- Automatic background refetching: Keeps data fresh
- Configurable stale time: Typically 5 minutes for most queries
- Request deduplication: Prevents duplicate requests
Redux Store Cache
- Table data cached: In Redux state for tables
- Manual cache invalidation: Explicit cache clearing
- Optimistic updates: Immediate UI updates for CRUD operations
Best Practices
- New Components: Use React Query with custom hooks
- Error Handling: Consistent use of
LoadingErredcomponent with retry functionality - Caching: 5-minute stale time for most queries, longer for static data
- Refresh Strategy: Always call
refetch()after successful CRUD operations - Loading States: Use
isLoadingstate for UI feedback - API Integration: Prefer
waldur-js-clientover direct fetch calls - Form Validation: Use async validation with API dependency checking
This data loading architecture demonstrates the application's evolution toward modern React patterns while maintaining backward compatibility with existing table infrastructure and Redux-based components.
Migration Patterns
The application shows clear migration from Redux to React Query:
| Aspect | Redux Pattern | React Query Pattern |
|---|---|---|
| Data Loading | Redux actions + sagas | useQuery hooks |
| Caching | Redux store | Query cache |
| Error Handling | Redux error actions | Query error states |
| Loading States | Redux loading flags | isLoading state |
| Refresh | Dispatch actions | refetch() function |
| Polling | Saga intervals | Query refetch intervals |
Architecture Guide
This guide covers the application architecture, design patterns, and organizational structure of Waldur HomePort.
Frontend Stack
- React with TypeScript for component development
- Vite for build tooling and development server
- Redux with Redux Saga for legacy state management
- UI Router React for navigation (state-based routing)
- React Bootstrap (Bootstrap 5) for UI components
- React Final Form for modern form handling
- ECharts for data visualization
- Leaflet with React Leaflet for mapping
- TanStack React Query for server state management
Check Current Versions
Check all major dependencies
yarn list react typescript vite redux @uirouter/react react-bootstrap react-final-form echarts leaflet @tanstack/react-query
Check specific package version
yarn info
Key Architectural Patterns
Module Organization
The codebase follows a feature-based folder structure under src/:
- Each domain (customer, project, marketplace, etc.) has its own folder
- Components are co-located with their specific business logic
- Shared utilities are in
core/andtable/ - API interactions use Redux patterns with sagas
State Management
Modern Patterns (Use for New Development)
- TanStack React Query: Server state management and caching for API calls
- React Final Form: Local form state management
- Local Component State: useState and useReducer for UI state
- Custom Hooks: Reusable state logic and business operations
Legacy Patterns (Maintenance Only - Do Not Extend)
- Redux Store: Global state with dynamic reducer injection (legacy - avoid for new features)
- Redux Saga: Async operations and side effects (legacy - use React Query instead)
- Table Store: Specialized table data management in
src/table/(legacy pattern)
Navigation & Routing
The application uses UI-Router for React with state-based routing. Routes are defined in module-specific routes.ts files.
Route Definition Structure
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Dynamic Parameters (Preventing Full Reloads)
When a query parameter controls nested tabs or filters within a page, mark it as dynamic: true to prevent full component reloads:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Nested Tabs Pattern
For tabs within a page section that need URL synchronization:
- Add the parameter to the route URL with
dynamic: true:
1 2 3 4 5 6 7 | |
- Use router hooks in the component:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Main Page Tabs (usePageTabsTransmitter)
For main page-level tabs, use the usePageTabsTransmitter hook which automatically handles URL synchronization:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Route Best Practices
- Use
dynamic: truefor any parameter that controls UI state within a page (subtabs, filters, panel states) - Keep routes hierarchical - child routes inherit parent's URL prefix
- Use abstract routes for shared layouts and data fetching
- Lazy load components with
lazyComponent()for code splitting - Define query params in URL - e.g.,
url: 'page/?tab&filter'makes params explicit
Data Fetching
Modern Approach (Use for New Development)
- TanStack React Query: Preferred for server state management and caching
- Custom Hooks: Reusable data fetching logic with React Query
- Waldur JS Client: TypeScript API client integration
- Automatic Caching: 5-minute stale time with background refetching
Legacy Approach (Maintenance Only)
- Redux Actions/Sagas: Centralized API calls (legacy - use React Query instead)
- Table Store: Standardized data loading patterns (legacy pattern)
- Periodic Polling: Real-time updates through sagas (use React Query polling instead)
Component Architecture
- Container Components: Handle data fetching and state management
- Presentation Components: Pure UI components with props
- Form Components: Specialized forms using React Final Form
- Table Components: Reusable table infrastructure with filtering, sorting, pagination
- Button Components: Unified button system wrapping Bootstrap for consistent UX
Button Component Architecture
The application uses a unified button system that wraps Bootstrap Button to ensure consistent styling, behavior, and accessibility. Direct Bootstrap Button imports are forbidden - use the appropriate Waldur wrapper component instead.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
Button Selection Guide
| Use Case | Component |
|---|---|
| Form submit | SubmitButton |
| Form submit in popover/compact form | CompactSubmitButton |
| Table row action | ActionButton or RowActionButton |
| Inline action (small) | CompactActionButton |
| Modal cancel/close | CloseDialogButton |
| Icon-only button with tooltip | IconButton |
| Table toolbar (refresh, export, filter) | ToolbarButton or IconButton |
| Edit field in settings row | CompactEditButton |
| Edit in card header | EditButton |
| Create with dialog | CreateModalButton |
| Delete with confirmation | DeleteButton |
ESLint Enforcement
The no-direct-bootstrap-button ESLint rule prevents direct Bootstrap Button imports. Allowed wrapper files:
src/core/buttons/BaseButton.tsxsrc/table/ActionButton.tsxsrc/form/SubmitButton.tsxsrc/modal/CloseDialogButton.tsx
Key Directories
src/core/- Shared utilities, API clients, and base componentssrc/table/- Reusable table components and data managementsrc/form/- Form components and field implementationssrc/marketplace/- Service marketplace and offering management (largest module)src/customer/- Organization management and billingsrc/project/- Project management and resourcessrc/auth/- Authentication and identity provider integrationsrc/administration/- Admin panel functionalitysrc/azure/- Azure cloud integrationsrc/booking/- Resource booking systemsrc/broadcasts/- System announcementssrc/dashboard/- Dashboard componentssrc/navigation/- Navigation and layout componentssrc/proposals/- Proposal managementsrc/quotas/- Resource quotas managementsrc/theme/- Theme management (dark/light mode)src/user/- User managementsrc/metronic/- UI framework integration
Backend Integration
Integrates with Waldur MasterMind REST API requiring CORS configuration on the backend for local development.
API Client
- Waldur JS Client - Custom API client for Waldur MasterMind
- Auto-generated client with TypeScript support
- Request/response interceptors for authentication and error handling
- Token-based authentication with auto-refresh capabilities
Version Management
Check current version
grep "waldur-js-client" package.json
Check latest available version
yarn info waldur-js-client version
Update to latest version in package.json, then install
yarn install
Build System & Performance
Modern Build Configuration
- Vite 7.0 with ES modules support
- Node.js v23.7.0 (latest LTS) compatibility
- Code splitting with lazy loading for all major features
- Optimized bundle sizes and asset processing
- Source maps for development and production debugging
Performance Optimizations
- Lazy component loading with
lazyComponentutility - Dynamic reducer injection for Redux store
- Automatic code splitting by route and feature
- Optimized asset loading (images, fonts, SVG)
- Bundle analysis and optimization tools
Asset Management
- SVG files processed through SVGR 8.1.0 plugin for React components
- Images and static assets in
src/images/ - Font files managed through Vite's asset pipeline
- Markdown content processed through vite-plugin-markdown
- Monaco Editor 0.52.2 for code editing capabilities
- Sass 1.85.0 for SCSS preprocessing
Environment Variables
VITE_API_URL- Backend API endpoint (defaults to http://localhost:8000/)
Project Overview
Waldur HomePort is a React-based web frontend for the Waldur MasterMind cloud orchestrator. It's a TypeScript application built with Vite that provides a comprehensive management interface for cloud resources, organizations, projects, and marketplace offerings.
Button Variant Linting Rule
Overview
To ensure consistent use of design tokens and prevent regression to deprecated button styles, we've implemented a custom ESLint rule that enforces proper button variant usage throughout the codebase.
Rule: waldur-custom/enforce-button-variants
This rule identifies and flags deprecated button variants and className patterns, suggesting modern design token alternatives.
What it catches
Deprecated Button Variants
btn-outline-default→tertiaryoutline btn-outline-default→tertiaryoutline→tertiarylight→tertiarylight-danger→dangerbtn-light-danger→dangeractive-light-danger→text-dangerbtn-active-light-danger→text-dangeractive-light-primary→text-secondarybtn-active-light-primary→text-secondaryactive-secondary→text-primarybtn-active-secondary→text-primaryoutline-danger→dangerbtn-outline-danger→dangeroutline-warning→warningbtn-outline-warning→warning
Deprecated className patterns
btn-outline-defaultbtn-active-light-dangerbtn-active-light-primarybtn-active-secondarybtn-light-dangerbtn-outline-dangerbtn-outline-warningbtn-text-primary(when used as className)btn-text-darkbtn-icon-dangerbtn-icon-primary
Example violations
1 2 3 4 5 6 7 8 9 10 11 | |
Auto-fixing
The rule provides automatic fixes for both variant props and many className patterns:
1 | |
This will automatically convert:
Variant props:
variant="btn-outline-default"→variant="tertiary"variant="light-danger"→variant="danger"- And other mappings listed above
ClassName props:
className="btn btn-outline-default"→className="btn btn-tertiary"className="btn btn-active-light-danger"→className="btn btn-text-danger"className="btn btn-text-primary btn-sm"→className="btn btn-sm"(removes deprecated class)- And other simple replacements
Manual fixes required
Some cases still require manual fixes:
- Complex className expressions with template literals or variables
- Classes mixed with non-standard button classes (e.g.,
btn-outline-dashed) - Conditional className logic
Design Token Button Variants
Primary Actions
primary- Main call-to-action buttonssuccess- Positive actions (save, submit, confirm)danger- Destructive actions (delete, remove)warning- Warning actions (pay invoice, etc.)
Secondary Actions
tertiary- Secondary actions, wasoutlineorbtn-outline-defaulttext-primary- Text-only primary actionstext-secondary- Text-only secondary actionstext-danger- Text-only destructive actionstext-success- Text-only positive actions
Special Purpose
icon- Icon-only buttonsflush- Buttons with no background/border
Benefits
- Consistency - Ensures all buttons use standardized design tokens
- Maintainability - Easier to update button styles globally
- Prevention - Catches deprecated patterns before they're committed
- Guidance - Provides clear suggestions for modern alternatives
- Automation - Auto-fixes 90%+ of violations to reduce manual work
- Migration Support - Helps transition from old button patterns to design tokens
Running the linter
1 2 3 4 5 6 7 8 | |
Configuration
The rule is configured in eslint.config.js and the implementation is in eslint-rules/enforce-button-variants.js.
To modify the mappings or add new deprecated patterns, edit the constants at the top of the rule file:
DEPRECATED_BUTTON_VARIANTS- variant prop values to flagRECOMMENDED_VARIANTS- mapping to modern alternativesDEPRECATED_CLASS_NAMES- className patterns to flag
Code Quality Standards
This guide covers code quality standards, testing practices, and technical requirements for Waldur HomePort.
Technical Standards
Architecture Principles
- Composition over inheritance - Use dependency injection
- Interfaces over singletons - Enable testing and flexibility
- Explicit over implicit - Clear data flow and dependencies
- Test-driven when possible - Never disable tests, fix them
Code Quality Requirements
- Every commit must:
- Compile successfully
- Pass all existing tests
- Include tests for new functionality
-
Follow project formatting/linting
-
Before committing:
- Run formatters/linters
- Self-review changes
- Ensure commit message explains "why"
Error Handling
- Fail fast with descriptive messages
- Include context for debugging
- Handle errors at appropriate level
- Never silently swallow exceptions
Testing Strategy
Testing Frameworks
- Unit Tests: Vitest with React Testing Library for component testing
- Integration Tests: Cypress for end-to-end workflows
Check Testing Framework Versions
Check current versions
yarn info vitest @testing-library/react cypress version```
- Test files use
.test.ts/.test.tsxextensions - Setup files in
test/setupTests.js - Integrated coverage reporting
Test Guidelines
- Test behavior, not implementation
- One assertion per test when possible
- Clear test names describing scenario
- Use existing test utilities/helpers
- Tests should be deterministic
Test Code Sharing & Mocking
Extracting Common Test Code:
- Extract shared test data into separate files (e.g.,
test-utils.ts) - Only mock what's actually imported by the component under test
- Don't mock exports that aren't used - it adds unnecessary complexity
- Verify import paths match actual usage (e.g.,
./constantsvs@waldur/marketplace/common/constants)
Vitest Mocking Constraints:
vi.mock()calls must be at the top level, not inside functions- Vitest hoists mocks, so they can't reference variables defined later
- Share test data as exported constants, not function calls
- Mock the exact module path used in the component's imports
Example Pattern:
1 2 3 4 5 6 7 8 9 10 11 | |
Code Duplication Detection:
- CI/CD uses
jscpdwith strict thresholds (typically 250 tokens) - Extract common patterns properly - don't game the detector with formatting
- Shared test utilities reduce duplication and improve maintainability
Development Guidelines
TypeScript Configuration
- Uses
@waldur/*path mapping for internal imports - Strict TypeScript checking disabled for legacy compatibility
- Module resolution set to "Bundler" for Vite compatibility
Code Style
- ESLint with flat config format enforced with TypeScript, React, and accessibility rules
- Prettier for code formatting (2 spaces, semicolons, single quotes)
- Import ordering enforced with
@waldurimports grouped separately - SCSS/CSS linting with Stylelint
- Husky for git hooks and pre-commit checks
Check Code Style Tool Versions
``` Check current versions
yarn info eslint prettier stylelint husky version```
TypeScript and SDK Types
- Always prefer SDK types over custom types from
waldur-js-clientpackage - Import types using
typekeyword:import { type ComponentUsageCreateRequest } from 'waldur-js-client' - Common SDK types to use instead of custom interfaces:
ResourcePlanPeriod- for plan periods with componentsBaseComponentUsage- for component usage data in periodsComponentUsageCreateRequest- for usage submission request bodiesComponentUserUsageCreateRequest- for user usage submission request bodiesComponentUsage- for general component usage data- All marketplace API request/response types are available in the SDK
- When using React Final Form, use standard pattern:
<Field component={NumberField as any} /> - Convert between SDK string types and numbers when necessary (e.g.,
parseFloat(component.usage)) - Handle nullable SDK types properly with optional chaining (
period.value?.components)
Tooling
Essential Commands
Code Quality
yarn lint:check- Run ESLint checksyarn lint:fix- Fix ESLint issues automaticallyyarn format:check- Check code formatting with Prettieryarn format:fix- Auto-format code with Prettieryarn style:check- Check SCSS/CSS styles with Stylelintyarn deps:unused- Check for unused dependencies with Knipyarn tsc- Typescript type check
Testing
yarn test- Run unit tests with Vitestyarn ci:test- Run full integration test suite with Cypressyarn ci:run- Run Cypress tests headless
Dependency Management
yarn deps:unused- Find unused dependencies and exports with Knipyarn deps:circular- Check for circular dependencies with Madge
Tooling Standards
- Use project's existing build system
- Use project's test framework
- Use project's formatter/linter settings
- Don't introduce new tools without strong justification
Quality Assurance
Code Quality & Analysis
- Knip for unused dependency detection
- Madge for circular dependency analysis
- Lint-staged for pre-commit code formatting
- PostCSS with autoprefixer and cssnano for CSS optimization
Modern Development Practices
- ESM (ES Modules) throughout the codebase
- TypeScript with comprehensive typing
- Flat ESLint config format
- Husky git hooks for automated quality checks
- Yarn package management with lockfile integrity
Component Library Guide
This guide covers the comprehensive set of reusable UI components and specialized patterns used throughout Waldur HomePort.
Common UI Widgets and Reusable Components
The application features a comprehensive set of reusable UI components organized by category:
Tables and Data Display
| Component | Location | Description | Key Features |
|---|---|---|---|
| Table | src/table/Table.tsx |
Main table component | Filtering, sorting, pagination, column visibility, export |
| ActionsDropdown | src/table/ActionsDropdown.tsx |
Dropdown for table actions | Bulk operations, contextual actions |
| ExpandableContainer | src/table/ExpandableContainer.tsx |
Collapsible row details | Table row expansion, detail views |
| TablePagination | src/table/TablePagination.tsx |
Pagination controls | Page navigation, size selection |
Forms and Input Components
| Component | Location | Description | Key Features |
|---|---|---|---|
| WizardForm | src/form/WizardForm.tsx |
Multi-step form wizard | Step navigation, validation, progress indicator |
| VStepperFormStepCard | src/form/VStepperFormStep.tsx |
Card-based form step | Loading state, disabled state with tooltip |
| AwesomeCheckbox | src/core/AwesomeCheckbox.tsx |
Enhanced checkbox | Switch-style, tooltip support |
| SelectField | src/form/SelectField.tsx |
Dropdown selection | Options, search, validation |
| StringField | src/form/StringField.tsx |
Text input field | Validation, placeholder, help text |
| NumberField | src/form/NumberField.tsx |
Numeric input | Min/max validation, step control |
| DateField | src/form/DateField.tsx |
Date picker | Date selection, validation |
| FileUploadField | src/form/FileUploadField.tsx |
File upload | Drag & drop, validation |
| MarkdownEditor | src/form/MarkdownEditor.tsx |
Markdown editor | Preview, syntax highlighting |
| SecretField | src/form/SecretField.tsx |
Password/secret input | Show/hide toggle, validation |
Button Components
The application uses a unified button system. Never import Bootstrap Button directly - use the appropriate Waldur wrapper component.
Core Button Components
| Component | Location | Description | Key Features |
|---|---|---|---|
| ActionButton | src/table/ActionButton.tsx |
General purpose action button | Tooltip, loading state, icon support, multiple variants |
| RowActionButton | src/table/ActionButton.tsx |
Optimized for table rows | Smaller touch target, row context |
| CompactActionButton | src/table/CompactActionButton.tsx |
Small inline actions | Compact size for tight spaces |
| SubmitButton | src/form/SubmitButton.tsx |
Form submission | Loading spinner, disabled states, large size |
| CompactSubmitButton | src/form/CompactSubmitButton.tsx |
Compact form submission | Small size for popovers/inline forms |
| EditButton | src/form/EditButton.tsx |
Edit navigation/dialogs | Large size, edit icon |
| CompactEditButton | src/form/CompactEditButton.tsx |
Inline field editing | Small size for settings rows |
| CloseDialogButton | src/modal/CloseDialogButton.tsx |
Modal cancel/close | Auto-closes dialog, customizable label |
| IconButton | src/table/IconButton.tsx |
Icon-only with tooltip | Required tooltip for accessibility |
| ToolbarButton | src/table/ToolbarButton.tsx |
Table/panel toolbars | Badge support, consistent toolbar styling |
| SaveButton | src/core/SaveButton.tsx |
Form save with dirty state | Tracks form changes, conditional visibility |
Button Selection Guide
| Use Case | Component | Size |
|---|---|---|
| Form submit | SubmitButton |
Large |
| Form submit in popover/compact form | CompactSubmitButton |
Small |
| Table row action | ActionButton or RowActionButton |
Large |
| Inline action in form/table cell | CompactActionButton |
Small |
| Modal cancel/close | CloseDialogButton |
Large |
| Icon-only button | IconButton |
- |
| Table toolbar buttons | ToolbarButton or IconButton |
- |
| Edit field in settings row | CompactEditButton |
Small |
| Edit in card/panel header | EditButton |
Large |
| Create with dialog | CreateModalButton |
Large |
| Delete with confirmation | DeleteButton |
Large |
ActionButton Usage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
SubmitButton Usage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
CloseDialogButton Usage
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
IconButton Usage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Modal and Dialog Components
| Component | Location | Description | Key Features |
|---|---|---|---|
| ModalDialog | src/modal/ModalDialog.tsx |
Base modal component | Header, body, footer, icon support |
| ConfirmationDialog | src/modal/ConfirmationDialog.tsx |
Confirmation modal | Destructive actions, custom text |
| ActionDialog | src/modal/ActionDialog.tsx |
Generic action dialog | Form support, validation |
Button Factory Components
Generic button factories that reduce boilerplate for common CRUD operations:
| Component | Location | Description | Key Features |
|---|---|---|---|
| CreateModalButton | src/core/buttons/CreateModalButton.tsx |
Factory for create buttons | Opens dialog with resolve props, primary variant |
| EditModalButton | src/core/buttons/EditModalButton.tsx |
Factory for edit buttons | Supports buildResolve, getInitialValues, action-item or button mode |
| DeleteButton | src/core/buttons/DeleteButton.tsx |
Factory for delete buttons | Confirmation dialog, API call, success/error notifications |
CreateModalButton Usage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
EditModalButton Usage
1 2 3 4 5 6 7 8 9 10 11 12 | |
DeleteButton Usage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Navigation Components
| Component | Location | Description | Key Features |
|---|---|---|---|
| TabsList | src/navigation/TabsList.tsx |
Tab navigation | Nested dropdowns, active detection |
| Layout | src/navigation/Layout.tsx |
Application layout | Responsive, sidebar, header |
| Breadcrumbs | src/navigation/header/breadcrumb/Breadcrumbs.tsx |
Navigation breadcrumbs | Hierarchical navigation |
Cards and Layout Components
| Component | Location | Description | Key Features |
|---|---|---|---|
| Panel | src/core/Panel.tsx |
Basic card panel | Header, actions, flexible content |
| AccordionCard | src/core/AccordionCard.tsx |
Collapsible card | Toggle functionality, custom styling |
| WidgetCard | src/dashboard/WidgetCard.tsx |
Dashboard widget | Flexible layout, action dropdown |
| StatisticsCard | src/core/StatisticsCard.tsx |
Statistics display | Large value display, "View all" link |
Data Display Components
| Component | Location | Description | Key Features |
|---|---|---|---|
| Badge | src/core/Badge.tsx |
Status indicator | Multiple variants, icon support, tooltip |
| StateIndicator | src/core/StateIndicator.tsx |
Status with animation | Loading animation, color variants |
| BooleanBadge | src/core/BooleanBadge.tsx |
Boolean indicator | Yes/No display, true/false states |
| TruncatedText | src/core/TruncatedText.tsx |
Responsive text | Automatic truncation, expandable |
| TruncatedDescription | src/core/TruncatedDescription.tsx |
Description text | Read more/less functionality |
| ImagePlaceholder | src/core/ImagePlaceholder.tsx |
Image fallback | Automatic sizing, circular option |
| Avatar | src/core/Avatar.tsx |
User avatar | Profile pictures, initials fallback |
Loading and State Components
| Component | Location | Description | Key Features |
|---|---|---|---|
| LoadingSpinner | src/core/LoadingSpinner.tsx |
Loading indicator | Consistent styling, size variants |
| LoadingErred | src/core/LoadingErred.tsx |
Error state display | Error handling, retry actions |
Chart and Visualization
| Component | Location | Description | Key Features |
|---|---|---|---|
| EChart | src/core/EChart.tsx |
Apache ECharts wrapper | Theme support, export functionality |
| EChartActions | src/core/EChartActions.tsx |
Chart actions | Export buttons, chart controls |
Utility Components
| Component | Location | Description | Key Features |
|---|---|---|---|
| CopyToClipboard | src/core/CopyToClipboard.tsx |
Copy functionality | Click to copy, success feedback |
| CopyToClipboardButton | src/core/CopyToClipboardButton.tsx |
Copy button | Icon button, tooltip |
| Tooltip | src/core/Tooltip.tsx |
Tooltip wrapper | Help text, positioning |
| ProgressSteps | src/core/ProgressSteps.tsx |
Step indicator | Multi-step processes, progress |
Component Design Principles
- TypeScript interfaces for comprehensive type safety
- Consistent styling using React Bootstrap and custom classes
- Accessibility features with proper ARIA attributes
- Responsive design with mobile-first approach
- Theme support with light/dark mode compatibility
- Loading states with integrated spinner functionality
- Error handling with proper error boundaries
- Internationalization with translate function usage
These components provide a comprehensive foundation for building consistent, accessible, and maintainable UI throughout the Waldur HomePort application.
BaseDeployPage Component Pattern
The BaseDeployPage component (located at src/marketplace/deploy/DeployPage.tsx) serves as the central foundation for all marketplace offering deployment/ordering flows. It provides a standardized, multi-step form interface that can be configured for different types of cloud resources and services.
Architecture and Purpose
BaseDeployPage handles:
- Step Management: Progressive form steps with validation and completion tracking
- State Management: Integration with Redux for form state and user selections
- Form Validation: Real-time validation and error display
- Layout Management: Sidebar layout with progress tracking
- API Integration: Order submission and error handling
- Context-Aware Initialization: Auto-populates organization/project based on context
Key Configuration Interface
1 2 3 4 5 6 7 8 9 10 | |
Step Definition Structure
1 2 3 4 5 6 7 8 9 10 | |
Usage Example: OpenstackInstanceOrder
1 2 3 4 | |
Step Configuration:
1 2 3 4 5 6 7 8 9 10 | |
Common Implementation Pattern
All offering types follow the same pattern:
- Define Steps: Create array of
OfferingConfigurationFormStepobjects - Wrap BaseDeployPage: Pass steps as
inputFormStepsprop - Register in Marketplace: Register in
src/marketplace/common/registry.ts
Other Examples:
OpenstackVolumeOrder- Volume deploymentOpenstackTenantOrder- Tenant creationRancherOrderForm- Rancher cluster deploymentRequestOrderForm- Support requests
Key Features
Dynamic Step Filtering
1 2 3 4 5 6 7 | |
Progressive Validation
- Tracks completed steps based on required field validation
- Uses scroll position to mark optional steps as "seen"
- Real-time validation feedback with error display
Multiple Operation Modes
- Create Mode: New resource deployment
- Update Mode: Editing existing orders with pre-populated values
- Preview Mode: Read-only display of form steps
Integration with Marketplace System
Registry Configuration
1 2 3 4 5 6 7 8 | |
Sidebar Integration
The DeployPageSidebar provides:
- Progress tracking with step completion status
- Error display for validation issues
- Checkout summary with pricing information
- Order summary customizable per offering type
Best Practices
- Consistent Step Structure: All offering types use the same step interface
- Lazy Loading: Components are lazy-loaded for better performance
- Type Safety: Strong TypeScript typing throughout
- Reusable Components: Common steps like
DetailsOverviewStepare shared - Error Handling: Comprehensive validation and error display
- Accessibility: Proper ARIA labels and keyboard navigation
The BaseDeployPage component represents a well-architected, reusable foundation that allows different cloud services to implement their specific deployment workflows while maintaining consistency across the marketplace experience.
Type-Specific Fields in Redux Forms
The application uses a sophisticated type-based field selection system for creating dynamic Redux forms, exemplified by the SupportSettingsForm.tsx component.
Core Pattern: Dynamic Field Selection
The primary pattern uses a FieldRow component that selects appropriate field types based on configuration:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Field Type System
The application supports these field types:
string- Basic text input usingStringFieldboolean- Checkbox usingAwesomeCheckboxFieldemail_field- Email input with validation usingEmailFieldtext_field- Multi-line text usingTextFieldinteger- Numeric input usingNumberFieldsecret_field- Password/secret input usingSecretField
Redux Form Integration
All fields are wrapped with Redux Form's Field component and FormGroup:
1 2 3 4 5 6 7 8 | |
Base FormField Interface
All field components extend the FormField interface for consistent props:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Configuration-Driven Forms
Forms are generated from configuration objects:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Field Configuration Structure
1 2 3 4 5 6 | |
Advanced Field Factory Pattern
For more complex scenarios, the system uses a comprehensive field factory:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Validation and Error Handling
The system provides comprehensive validation through:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Best Practices for Type-Safe Forms
- Consistent Type Strings: Use standardized type identifiers across field configurations
- Fallback Strategy: Always provide a default field type (typically
StringField) - Props Interface: Extend the base
FormFieldinterface for type safety - Validator Composition: Use
composeValidatorsfor complex validation logic - Error Handling: Integrate with Redux Form's meta.touched state for error display
- Configuration-Driven: Use data structures to define forms rather than hardcoding
This type-specific field system enables dynamic form generation while maintaining type safety and consistent user experience across the application.
Development Setup Guide
This guide covers development environment setup, build configuration, and essential commands for Waldur HomePort development.
Essential Commands
Development
yarn start- Start development server (runs on port 8001)yarn devcontainer- Start dev server for containerized development (binds to 0.0.0.0:8001)yarn build- Create production buildyarn preview- Preview production build
Code Quality
yarn lint:check- Run ESLint checksyarn lint:fix- Fix ESLint issues automaticallyyarn format:check- Check code formatting with Prettieryarn format:fix- Auto-format code with Prettieryarn style:check- Check SCSS/CSS styles with Stylelintyarn deps:unused- Check for unused dependencies with Knipyarn tsc- Typescript type check
Testing
yarn test- Run unit tests with Vitestyarn ci:test- Run full integration test suite with Cypressyarn ci:run- Run Cypress tests headless
Dependency Management
yarn deps:unused- Find unused dependencies and exports with Knipyarn deps:circular- Check for circular dependencies with Madge
Version Management
Check current dependency versions
yarn list --depth=0
Check for outdated packages
yarn outdated
Check specific package version
yarn info <package-name> version
After updating version in package.json, install dependencies
yarn install
Update all dependencies to latest versions (use with caution)
yarn upgrade
Build System & Performance
Modern Build Configuration
- Vite with ES modules support
- Node.js (latest LTS) compatibility
- Code splitting with lazy loading for all major features
- Optimized bundle sizes and asset processing
- Source maps for development and production debugging
Check Build Tool Versions
node --version yarn --version yarn info vite version
Performance Optimizations
- Lazy component loading with
lazyComponentutility - Dynamic reducer injection for Redux store
- Automatic code splitting by route and feature
- Optimized asset loading (images, fonts, SVG)
- Bundle analysis and optimization tools
Key Development Tools
Code Quality & Analysis
- Knip for unused dependency detection
- Madge for circular dependency analysis
- Lint-staged for pre-commit code formatting
- PostCSS with autoprefixer and cssnano for CSS optimization
Modern Development Practices
- ESM (ES Modules) throughout the codebase
- TypeScript with comprehensive typing
- Flat ESLint config format
- Husky git hooks for automated quality checks
- Yarn package management with lockfile integrity
Check Development Tool Versions
yarn info typescript eslint prettier husky version
Asset Management
- SVG files processed through SVGR plugin for React components
- Images and static assets in
src/images/ - Font files managed through Vite's asset pipeline
- Markdown content processed through vite-plugin-markdown
- Monaco Editor for code editing capabilities
- Sass for SCSS preprocessing
Check Asset Processing Tool Versions
Check current versions
yarn info @svgr/rollup-plugin vite-plugin-markdown monaco-editor sass version
Environment Variables
VITE_API_URL- Backend API endpoint (defaults to http://localhost:8000/)
Backend Integration
Integrates with Waldur MasterMind REST API requiring CORS configuration on the backend for local development.
API Client
- Waldur JS Client - Custom API client for Waldur MasterMind
- Auto-generated client with TypeScript support
- Request/response interceptors for authentication and error handling
- Token-based authentication with auto-refresh capabilities
Version Management
Check current version
grep "waldur-js-client" package.json
Check latest available version
yarn info waldur-js-client version
Update to latest version in package.json, then install
yarn install
Development Environment Setup
Prerequisites
- Node.js (latest LTS - check with
node --version) - Yarn package manager (check with
yarn --version) - Backend Waldur MasterMind API running (typically on port 8000)
Check Prerequisites
Verify Node.js version (should be latest LTS)
node --version
Verify Yarn installation
yarn --version
Check if backend API is running
curl -I <http://localhost:8000/api/>
Initial Setup
- Install dependencies:
yarn install - Configure environment variables in
.envfile - Start development server:
yarn start - Access application at
<http://localhost:8001>
Docker Development
For containerized development:
- Use
yarn devcontainerto start server bound to1.1.1.0:8001 - Ensure proper network configuration for container access
IDE Configuration
- TypeScript support with path mapping for
@waldur/*imports - ESLint and Prettier integration for code formatting
- Vitest integration for test running and debugging
Browser Debugging with MCP Chrome DevTools
When debugging the frontend application using MCP Chrome DevTools:
Authentication
- Default Staff Credentials: Username
staff, passworddemo - Token Setup: Set the authentication token in localStorage:
1 | |
Testing Removed Projects
Use URLs with include_terminated=true:
1 2 | |
Common MCP Commands
mcp__chrome-devtools__take_snapshot- Get page structuremcp__chrome-devtools__evaluate_script- Run JavaScript in browsermcp__chrome-devtools__list_console_messages- Check for errorsmcp__chrome-devtools__navigate_page- Navigate to specific URLs
Debugging Tips
- Always set the auth token before navigating to protected pages
- Use
console.logstatements in components for debugging state - Check network requests to verify API calls are working correctly
- Use
take_snapshotto verify UI changes are applied
Translation Management
Commands
yarn i18n:analyze <lang>- Analyze translation quality (e.g.,yarn i18n:analyze et)yarn i18n:check- Check translation completenessyarn i18n:validate- Validate translation file syntaxyarn gettext:extract- Extract translatable strings from source
Supported Languages
27 languages with specialized analyzers: Estonian (et), Russian (ru), Norwegian (nb), German (de), Spanish (es), French (fr), Italian (it), Polish (pl), Czech (cs), Lithuanian (lt), Latvian (lv), Bulgarian (bg), Slovenian (sl), Greek (el), Dutch (nl), and more.
Use yarn i18n:analyze --help to see all available languages.
Development Workflow
This guide covers the development process, planning strategies, and workflow best practices for Waldur HomePort.
Philosophy
Core Beliefs
- Incremental progress over big bangs - Small changes that compile and pass tests
- Learning from existing code - Study and plan before implementing
- Pragmatic over dogmatic - Adapt to project reality
- Clear intent over clever code - Be boring and obvious
Simplicity Means
- Single responsibility per function/class
- Avoid premature abstractions
- No clever tricks - choose the boring solution
- If you need to explain it, it's too complex
Process
1. Planning & Staging
Break complex work into 3-5 stages. Document in IMPLEMENTATION_PLAN.md:
1 2 3 4 5 | |
- Update status as you progress
- Remove file when all stages are done
2. Implementation Flow
- Understand - Study existing patterns in codebase
- Test - Write test first (red)
- Implement - Minimal code to pass (green)
- Refactor - Clean up with tests passing
- Commit - With clear message linking to plan
3. When Stuck (After 3 Attempts)
CRITICAL: Maximum 3 attempts per issue, then STOP.
- Document what failed:
- What you tried
- Specific error messages
-
Why you think it failed
-
Research alternatives:
- Find 2-3 similar implementations
-
Note different approaches used
-
Question fundamentals:
- Is this the right abstraction level?
- Can this be split into smaller problems?
-
Is there a simpler approach entirely?
-
Try different angle:
- Different library/framework feature?
- Different architectural pattern?
- Remove abstraction instead of adding?
Decision Framework
When multiple valid approaches exist, choose based on:
- Testability - Can I easily test this?
- Readability - Will someone understand this in 6 months?
- Consistency - Does this match project patterns?
- Simplicity - Is this the simplest solution that works?
- Reversibility - How hard to change later?
Project Integration
Learning the Codebase
- Find 3 similar features/components
- Identify common patterns and conventions
- Use same libraries/utilities when possible
- Follow existing test patterns
Important Reminders
NEVER:
- Use
--no-verifyto bypass commit hooks - Disable tests instead of fixing them
- Commit code that doesn't compile
- Make assumptions - verify with existing code
ALWAYS:
- Commit working code incrementally
- Update plan documentation as you go
- Learn from existing implementations
- Stop after 3 failed attempts and reassess
Form Migration Guide
The application contains 650+ form-related files across three patterns, showing ongoing migration from Redux Form to React Final Form.
Form Patterns Comparison
| Aspect | Redux Form (Legacy, ~68%) | React Final Form (Modern, ~21%) | VStepperForm (Multi-step, ~7%) |
|---|---|---|---|
| State Storage | Redux store | Local component state | Shared across steps |
| Performance | Can cause unnecessary re-renders | Optimized subscription model | Step-based validation |
| Complexity | More boilerplate required | Minimal boilerplate | Step progression |
| Persistence | Persists across unmounts | Local to component lifecycle | Visual progress indicators |
| Integration | Deep Redux integration | Isolated, no external dependencies | Complex deployments |
Implementation Examples
Redux Form (Legacy)
1 2 3 4 5 6 | |
React Final Form (Modern)
1 2 3 4 5 6 7 8 9 10 | |
Field Group Pattern
React Final Form uses reusable field groups for better organization:
1 2 3 4 5 6 7 8 9 10 | |
Benefits: Separation of concerns, reusability, maintainability, testability
Key Patterns & Best Practices
Validation
1 2 | |
Async Data Integration
1 2 3 4 | |
Modern Form Submission
1 2 3 4 5 6 7 8 9 | |
Migration Strategy
- New Components: Use React Final Form
- Legacy Components: Maintain Redux Form
- Hybrid Support: Common field components work with both
- Gradual Migration: Phase out Redux Form over time
Migration Detailed Guidelines
Form Distribution (as of December 2025)
- Redux Form (Legacy): ~467 files importing redux-form (~68%) - being phased out
- React Final Form (Modern): ~146 files importing react-final-form (~21%) - preferred for new development
- VStepperForm (Multi-step): ~50 files (~7%) - complex deployments
- FormContainer usage: ~96 files - Redux Form wrapper components
Note: Many files import redux-form for shared field components (SelectField, StringField, etc.) and table filters, not just form definitions.
Key Forms by Category
- User/Auth: SigninForm, KeyCreateDialog (React Final Form)
- Projects: ProjectCreateDialog, team dialogs (React Final Form)
- Resources: OpenStack/VMware/Azure deploy steps (VStepperForm with Redux Form fields)
- Administration: Mixed - newer dialogs use React Final Form
- Marketplace: Deploy flows use VStepperForm, policy forms use React Final Form
- Table Filters: Predominantly Redux Form (high migration priority)
- Proposals: Multi-step wizards using VStepperForm
Areas Needing Migration
- Table filters - Most still use Redux Form field components
- Resource action dialogs - Many use FormContainer pattern
- Invoice/Reporting filters - Redux Form based
- Customer management - Mixed, older dialogs need migration
Post-Migration Cleanup
Essential Commands:
1 2 3 4 | |
Cleanup Checklist:
- Remove unused Redux Form constants (
FORM_ID) - Convert exported interfaces to internal if only used within component
- Delete orphaned Redux Form files
- Update imports to remove unused dependencies
- Verify form context boundaries for React Final Form
- Test modal structure and submit button access
Error Handling Migration
Issue: Avoid unhandled promise rejections when migrating error handling.
Solution: Don't re-throw errors after showErrorResponse():
1 2 3 4 5 6 7 8 9 10 11 | |
Component Migration Patterns
Key Changes in Migration
- Form State: Redux Form HOC → React Final Form
<Form>component - Initial Values:
useEffectwithchangeaction →initialValuesprop - Error Handling: Redux actions →
useNotifyhook - Component Structure:
FormContainerwrapper → render prop pattern
Field Migration
1 2 3 4 5 6 7 8 9 | |
Array Field Migration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
SDK Types Best Practices
- Use
import { type ComponentUsage } from 'waldur-js-client' - Prefer SDK types over custom interfaces
- Handle type conversions:
parseFloat(component.usage)
Modal Form Architecture Migration
Key Issue: React Final Form context boundaries - submit buttons must be inside <Form> component.
Problem: useFormState called outside form context:
1 2 3 4 | |
Solution: Move submit button inside form context:
1 2 3 4 5 6 7 8 9 | |
Migration Steps:
- Move submit button inside
<Form>render function - Use
modal-footerclass for styling consistency - Remove
footerprop fromModalDialog - Test form state access (
useFormState,useField)
FormGroup Components
Two Types Available:
@waldur/form/FormGroup- Redux Form wrapper with comprehensive state management@waldur/marketplace/offerings/FormGroup- Simple wrapper for labels/help text (preferred for React Final Form)
FormGroup Migration Patterns
Replace Manual Label/Field Combinations
1 2 3 4 5 6 7 8 9 10 11 12 | |
Convert Manual Tooltips to Help Props
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Best Practices
- Props Effectiveness:
hideLabel,spacelessdon't work with direct Field usage - CSS Classes: Verify classes exist (avoid non-existent Tailwind classes like
space-y-4) - Translations: Make all text including prepositions translatable
- FormGroup Choice: Use marketplace FormGroup for React Final Form
Architecture Benefits
- Flexibility: Multiple form approaches for different use cases
- Consistency: Shared field components across form systems
- Performance: Modern forms use optimized re-rendering
- Maintainability: Clear separation between legacy and modern patterns
- Developer Experience: Reduced boilerplate in new forms
Internationalization (i18n) Guide
This document covers internationalization implementation, translation workflows, and management tools for the Waldur HomePort project.
Developer Guide
Basic Translation Usage
Use the translate function to mark strings for translation:
1 2 3 4 5 6 7 | |
JSX Integration
Rendering JSX Elements Inside Translated Strings
Use formatJsxTemplate for embedding React components:
1 2 3 4 5 6 | |
Rendering Links and Markup
Use formatJsx for translatable text with embedded links:
1 2 3 4 5 6 7 | |
Translation Guidelines
✅ Do:
- Always mark complete sentences for translation
- Use descriptive variable names in templates
- Provide context when the same word has different meanings
- Use proper capitalization in source strings
❌ Don't:
- Combine string fragments at runtime
- Translate technical terms that are universally understood
- Use overly complex nested interpolations
- Ignore cultural adaptation needs
1 2 3 4 5 | |
Translation Extraction
Extract translatable strings with rich context for better translations:
1 | |
Features:
- Scans all
.tsand.tsxfiles insrc/ - Finds
translate()function calls and extracts string literals - Updates
template.jsonwith rich context information - UI Element Detection: Identifies buttons, forms, titles, error messages
- Variable Analysis: Detects variable types (number, date, string, url)
- Text Characteristics: Analyzes sentence structure, markup, length
- Semantic Context: Captures React components and function names
- Translator Notes: Generates contextual guidance automatically
Example output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Translation Management Tools
Available Commands
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Comprehensive Analysis
Analyze translation usage and quality issues:
1 2 3 4 5 6 7 8 | |
Reports provided:
- Unused translations: Keys in
template.jsonnot found in code - Missing translations: Hardcoded strings that should use
translate() - Locale coverage: Translation completeness for each language
- Deprecated translations: Translations in locale files but not used in code
- Empty translations: Locale entries that need content
- Context information: Where strings are used and in what context
Translation Cleanup
Remove deprecated translations from locale files:
1 2 | |
What it does:
- Compares locale files against the current
template.json(generated from code) - Removes translations that exist in locale files but are no longer used in the codebase
- Preserves all valid translations that are still referenced in the code
- Processes all locale files (*.json) in the
/locales/directory
Safety features:
- Only removes translations that don't exist in the generated template
- Maintains proper JSON formatting and structure
- Shows detailed report of what was removed from each file
- Preserves all currently used translations
Example output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
CI/CD Validation
Validate translation quality in build pipelines:
1 2 3 4 5 6 7 8 9 10 11 | |
Command line options:
--max-unused N: Maximum allowed unused translations (default: 50)--max-missing N: Maximum allowed missing translations (default: 100)--fail-on-unused: Fail CI if unused translations exceed limit--fail-on-missing: Fail CI if missing translations exceed limit--warn-only: Show warnings but don't fail CI
Enhanced Context Analysis
UI Element Detection
The enhanced extraction automatically detects UI context:
Button Types:
button,submit_button,action_button,delete_buttoncancel_button,primary_button
Form Elements:
input_field,select_field,textarealabel,field_label,placeholder
Messages:
error_message,success_message,warning_messagenotification_message,tooltip
Navigation:
title,page_title,section_titlemenu_item,link,navigation_link
Variable Type Analysis
Automatically infers variable types for better translation guidance:
Detected Types:
number: count, total, amount, size, indexdate: date, time, created, updated, expiresstring: name, title, label, text, descriptionurl: url, link, href, pathemail: email, mail
Example with variables:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Automatic Translator Notes
The system generates contextual guidance:
- UI Context: "This text appears on a button. Keep it short and action-oriented."
- Variable Handling: "Contains variables that may need reordering in your language."
- Markup Preservation: "Contains HTML/JSX markup. Preserve all tags and structure."
- Text Format: "Original text is in ALL CAPS. Consider if this emphasis is appropriate."
- Grammar: "This is a question. Ensure question format is appropriate in your language."
Translation Workflow
Local Translation Management
This project uses a local-first approach to translation management. All translations are managed directly in the repository without external translation services.
Key Benefits
- Direct Control: All translations are in the repository and version-controlled
- Enhanced Context: Translators have access to rich context information from enhanced extraction
- Quality Tools: Built-in analysis tools for translation quality and completeness
- No Dependencies: No reliance on external translation platforms or services
Development Workflow
- Development: Use
translate()function in code - Extraction: Run
yarn i18n:extractto updatetemplate.jsonwith rich context - Translation: Translators work directly with locale files in
/locales/directory using enhanced context information - Validation: Run
yarn i18n:checkto verify quality and completeness - Review: Use context-aware analysis tools to improve translation quality
Translation Process
For New Strings
- Developer adds
translate('New string')in code - Run
yarn i18n:extractto add totemplate.jsonwith rich context - Translator adds translation to relevant locale files (e.g.,
/locales/nb.json) - Use
yarn i18n:check:localesto verify completeness
Quality Assurance
- Regular cleanup: Monthly
yarn i18n:cleanto remove deprecated translations from locale files - Coverage monitoring:
yarn i18n:check:localesfor translation completeness - Context validation: Rich context is provided by default in
template.json - Cultural review: Native speaker validation of context-aware translations
- Direct locale editing: Translators work directly with locale files in
/locales/directory
Before cleanup workflow:
- Run
yarn i18n:extractto updatetemplate.jsonwith current code translations - Run
yarn i18n:cleanto remove deprecated translations from locale files - Run
yarn i18n:checkto verify the cleanup was successful
Continuous Integration
The local translation management approach integrates seamlessly with CI/CD:
Add to .gitlab-ci.yml:
1 2 3 4 5 6 7 8 | |
Best Practices
For Developers
- Complete Sentences: Always translate complete, meaningful units
1 2 3 4 5 | |
- Meaningful Context: Provide context for translators
1 2 3 4 5 6 | |
- Variable Naming: Use descriptive variable names
1 2 3 4 5 | |
For Translators
- Use Enhanced Context: Leverage UI type information and translator notes
- Preserve Markup: Keep all HTML/JSX tags intact
- Consider Variables: Pay attention to variable types and positioning
- Cultural Adaptation: Adapt tone and formality to target culture
- Consistency: Use established terminology from context analysis
For Maintainers
- Regular Cleanup: Use
yarn i18n:cleanmonthly - Monitor Quality: Track translation coverage and issues
- Enhanced Extraction: Use enhanced extraction for new features
- Documentation: Keep translation guidelines updated
CI/CD Integration
GitLab CI Integration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Pre-commit Hooks
Add to .husky/pre-commit:
1 2 3 4 5 | |
Troubleshooting
Common Issues
"Found more used translations than in template"
- Run
yarn i18n:extractto update the template with new strings
"Too many false positives for missing translations"
- Adjust
ignorePatternsincheckTranslations.cjs - Review context where strings appear
"Backup files accumulating"
- Cleanup script creates timestamped backups
- Remove old backups manually:
rm template.backup.*.json
"Extraction taking too long"
- The extraction tool includes comprehensive analysis which may take longer on large codebases
- Consider running extraction only when translation strings have been modified
Configuration
Customize detection rules in checkTranslations.cjs:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Getting Help
- View detailed analysis:
yarn i18n:check - Test changes safely: Use
--dry-runflags - Check configuration: Review ignore patterns and limits
- Gradual adoption: Use
--warn-onlyduring transition
File Structure
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Advanced Features
Context-Aware Translation Analysis
The enhanced tools can analyze specific locale quality using the unified analyzer:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Supported Languages: The analyzer supports 27+ languages including European (German, Spanish, French, Italian, Polish, Czech, Estonian, Lithuanian, Latvian, Dutch, Danish, Swedish, Finnish, Norwegian, Slovenian, Bulgarian, Greek), Slavic (Russian, Ukrainian), Middle Eastern (Arabic, Persian), Asian (Thai, Bengali), and Turkic (Azerbaijani, Kyrgyz) languages.
LLM-Powered Translation Improvements
Generate focused prompts for Language Model (LLM) tools like Claude to improve translations:
1 2 | |
Features:
- Categorized Prompts: Groups translations by type (missing, problematic, buttons, errors, titles)
- Batch Processing: ~30 translations per prompt to avoid context overload
- Direct Editing: Prompts designed for LLMs to directly edit locale files
- Git Versioning: Changes tracked automatically through git
- Context-Rich: Uses enhanced template analysis for better translation quality
Generated Structure:
1 2 3 4 5 6 7 8 | |
Workflow:
- Generate prompts:
yarn i18n:llm:prepare - Copy prompt: From relevant
.txtfile inlocales/llm-prompts/ - Paste to LLM: In Claude Code or similar tool
- Direct editing: LLM updates
locales/{lang}.jsondirectly - Review changes: Use git to see what was modified
- Commit improvements: Standard git workflow
Recommended Order:
- missing - Adds missing translations
- problematic - Fixes obvious quality issues
- errors - Improves user experience
- buttons - Enhances UI consistency
- titles - Polishes terminology
This provides:
- UI-specific translation recommendations: Button text, form labels, navigation elements
- Cultural adaptation suggestions: Appropriate formality levels and local conventions
- Technical terminology optimization: Native terms vs. loanwords, compound words
- Error message tone analysis: Clarity and user-friendliness
- Language-specific grammar checks: Case agreement, verb forms, number handling
Estonian-Specific Analysis
The Estonian analyzer provides specialized checks for:
- Case Agreement: Estonian has 14 cases - the tool checks for proper case usage with variables
- Imperative Forms: Verifies action buttons use appropriate Estonian imperative (da-infinitive)
- Number-Noun Agreement: Estonian has complex singular/plural rules with numbers
- Compound Words: Suggests Estonian compound construction for technical terms
- Error Message Clarity: Ensures error messages are clear and user-friendly
- Native Terminology: Identifies loanwords that could be replaced with native Estonian terms
- Sentence Case: Checks that titles use Estonian sentence case, not English title case
Russian-Specific Analysis
The Russian analyzer focuses on:
- Verb Forms: Imperative mood and aspect selection for action buttons
- Formality Levels: Appropriate formal register for error messages and professional contexts
- Technical Terminology: Balance between international terms and Russian equivalents
- Error Message Clarity: Clear and appropriate error message phrasing
Norwegian-Specific Analysis
The Norwegian analyzer provides specialized checks for:
- Imperative Forms: Norwegian button actions use appropriate imperative forms (lagre, slett, rediger)
- Compound Words: Norwegian preference for compound word construction over separate words
- Gender Agreement: Proper use of Norwegian gender articles (en/ei/et) with nouns
- Error Message Clarity: Clear and appropriate Norwegian error message phrasing
- Native Terminology: Identifies English loanwords that could be replaced with native Norwegian terms
- Sentence Case: Ensures Norwegian sentence case capitalization rather than English title case
Multi-Language Analysis Support
The unified analyzer provides specialized analysis for 27+ languages, each with language-specific grammar and cultural checks:
Germanic Languages:
- German (de): Noun capitalization, compound words, formal/informal address (Sie/du), case system
- Dutch (nl): V2 rule compliance, diminutive forms, modal particles
- Swedish (sv): Definite articles, pitch accent, en/ett gender system
- Danish (da): Definite article suffixes, stød considerations
Romance Languages:
- Spanish (es): Gender agreement, accent marks, formal/informal address (usted/tú)
- French (fr): Elision, liaison, gender agreement, accent marks
- Italian (it): Gender agreement, double consonants, formal address (Lei/tu)
Slavic Languages:
- Polish (pl): 7-case system, diacriticals, aspect usage
- Czech (cs): Complex gender system, háček usage, consonant clusters
- Bulgarian (bg): Cyrillic script, definite article postfixes, aspect usage
- Slovenian (sl): 6-case system, dual number forms (unique among Slavic)
- Ukrainian (uk): Cyrillic specifics, apostrophe usage, avoiding Russianisms
Baltic and Finno-Ugric Languages:
- Estonian (et): 14-case system, imperative forms, compound words, error message clarity
- Lithuanian (lt): 7-case system, dual forms, diminutives
- Latvian (lv): 6-case system, palatalization, long vowels
Other European:
- Greek (el): 4-case system, monotonic accents, Greek alphabet
- Finnish (fi): 15-case system, vowel harmony, consonant gradation
Non-European:
- Arabic (ar): RTL text, dual forms, complex number agreement
- Persian (fa): RTL text, ezafe construction, formal register
- Thai (th): No word spacing, classifiers, tone considerations
- Bengali (bn): Three formality levels, conjunct consonants
- Azerbaijani (az): Vowel harmony, 6-case system
- Kyrgyz (ky): Vowel harmony, Cyrillic variants
Custom Translation Validation
Create custom validation rules for your specific needs:
1 2 3 4 5 6 7 8 9 10 11 | |
This comprehensive internationalization system ensures high-quality translations while providing developers and translators with the tools and context needed for effective multilingual applications.
Role-based access control
Introduction
Waldur authorization system determines what user can do. It consists of permissions and roles. Permission is unique string designating action to be executed. Role is named set of permissions.
Permissions are defined in PermissionEnum which is automatically generated from backend code and pushed to fronted code by GitLab CI. Most of the time you're going to use hasPermission function which checks, whether user is allowed to perform action on given customer, project or offering. The following example shows how to check whether user is allowed to create offering in organization.
1 2 3 4 5 6 7 | |
Migration examples
Previously we have relied on hard-coded roles, such as customer owner and project manager. Migration to dynamic roles on frontend is relatively straightforward process. Consider the following example.
1 2 3 4 5 6 7 8 9 | |
As you may see, we have relied on selectors with hard-coded roles. The main drawback of this approach is that it is very hard to inspect who can do what without reading all source code. And it is even hard to adjust this behaviour. Contrary to its name, by using dynamic roles we don't need to care much about roles though.
1 2 3 4 5 6 7 8 9 10 | |
The only prerequisite of course is to ensure that backend uses dynamic roles too.
Local pipeline for developers: OpenAPI -> TypeScript SDK -> Homeport
This document describes the process of generating and linking the Waldur TypeScript SDK for local development. Although the SDK code is published to GitHub and npm repositories, a local pipeline is essential for developers who need to make changes to the SDK without using GitLab CI or work with the very latest OpenAPI definitions from Waldur MasterMind before they are officially released.
Prerequisites
Before proceeding, ensure you have the following installed and configured:
- poetry: For managing Python dependencies in Waldur MasterMind.
- npx: Comes with Node.js, used for executing Node.js package binaries.
- yarn: For managing JavaScript dependencies in Waldur HomePort and Waldur TypeScript SDK.
- Waldur MasterMind: Cloned and set up in a directory named
waldur-mastermind. - Waldur HomePort: Cloned and set up in a directory named
waldur-homeport. - Waldur TypeScript SDK: Cloned and set up in a directory named
js-client.
Steps to generate and link the SDK
These steps outline the process of generating the TypeScript SDK from the Waldur MasterMind OpenAPI schema and linking it to Waldur HomePort for local development.
- Generate the OpenAPI schema.
This command uses
waldur spectacularto generate thewaldur-openapi-schema.yamlfile. Inwaldur-masterminddirectory, run:
1 | |
- Generate TypeScript code from the OpenAPI schema.
This step uses
@hey-api/openapi-tsto convert the OpenAPI schema into TypeScript client code. Inwaldur-masterminddirectory, run:
1 2 3 4 5 6 7 8 9 10 | |
- Building a local version of the Waldur SDK with Yarn.
In the
js-clientdirectory, run:
1 | |
- Linking a local version of the Waldur SDK with Yarn.
In the
js-clientdirectory, run:
1 | |
- Enable locally installed Waldur SDK in Waldur HomePort.
This command will symlink your local Waldur SDK into Waldur HomePort for development and testing. In
waldur-homeportdirectory, run:
1 | |
Storage Manager
Overview
The Storage Manager provides two specialized classes for working with browser storage (localStorage or sessionStorage):
StringStorageManager- For simple string valuesJsonStorageManager<T>- For complex objects with type safety
Both classes provide a clean, consistent API and handle storage backend selection automatically.
Location
1 | |
Configuration
The storage backend (localStorage or sessionStorage) is configured via the environment variable:
1 | |
The system defaults to localStorage if not specified.
Basic Usage
Predefined Storage Instances
Several storage instances are pre-configured and exported from StorageManager.ts:
1 2 3 4 5 6 7 8 9 | |
String Storage
For simple string values using StringStorageManager:
1 2 3 4 5 6 7 8 | |
JSON Storage
For complex objects using JsonStorageManager (strongly typed):
1 2 3 4 5 6 7 8 9 10 11 | |
Creating New Storage Instances
For String Values
Use StringStorageManager for simple string storage:
1 2 3 4 5 6 | |
For Typed JSON Values
Use JsonStorageManager with a type parameter for complex objects:
1 2 3 4 5 6 7 8 9 10 11 12 | |
API Reference
StringStorageManager
set(value: string): void
Stores a string value in storage.
1 | |
get(): string | null
Retrieves a string value from storage. Returns null if the key doesn't exist.
1 2 3 4 | |
remove(): void
Removes the value from storage.
1 | |
JsonStorageManager\<T>
set(value: T): void
Serializes and stores a JSON object.
1 2 3 4 | |
get(): T | null
Retrieves and deserializes a JSON object. Returns null if:
- The key doesn't exist
- The stored value is not valid JSON
- Parsing fails for any reason
1 2 3 4 | |
remove(): void
Removes the value from storage.
1 | |
Best Practices
1. Choose the Right Manager Class
Use the appropriate manager for your data type:
1 2 3 4 5 6 7 8 | |
2. Always Export Storage Instances
Create storage instances in StorageManager.ts and export them:
1 2 3 4 5 | |
3. Use Type Parameters for JSON Storage
Always specify types when storing complex objects:
1 2 3 4 5 6 7 8 | |
4. Check for Null Returns
Always handle the possibility of null returns:
1 2 3 4 5 6 7 8 9 | |
5. Use Consistent Key Naming
Follow the established pattern for storage keys:
1 2 3 4 5 6 | |
Available Storage Instances
| Instance | Type | Key | Purpose |
|---|---|---|---|
AuthTokenStorage |
String | waldur/auth/token |
Authentication token |
AuthMethodStorage |
String | waldur/auth/method |
Authentication method (local, oauth, etc.) |
RedirectStorage |
JSON | waldur/auth/redirect |
Post-login redirect state |
ImpersonationStorage |
String | waldur/auth/impersonation |
Impersonated user UUID |
InvitationTokenStorage |
String | waldur/invitation/token |
Invitation acceptance token |
GroupInvitationTokenStorage |
String | waldur/group-invitation/token |
Group invitation token |
LanguageStorage |
String | waldur/i18n/lang |
Current language code |
Differences Between Manager Classes
StringStorageManager
- Purpose: Store and retrieve plain string values
- Methods:
set(string),get(),remove() - Use for: Tokens, IDs, language codes, simple flags
1 2 3 | |
JsonStorageManager\<T>
- Purpose: Store and retrieve typed objects with automatic serialization
- Methods:
set(T),get(),remove() - Use for: Configuration objects, state data, complex structures
- Type parameter: Provides compile-time type checking
1 2 3 4 5 6 7 8 | |
Error Handling
The JsonStorageManager.get() method handles parsing errors gracefully:
1 2 3 | |
This ensures your application doesn't crash due to corrupted storage data.
Testing
When testing code that uses Storage Managers:
1 2 3 4 5 6 7 8 | |
For JSON storage:
1 2 3 4 5 6 7 8 9 | |
Technical Details
Storage Backend Selection
The actual storage backend is determined at runtime by the getStorage() function:
1 2 3 4 5 6 7 8 | |
This allows the application to switch between:
- localStorage - Persists across browser sessions
- sessionStorage - Cleared when the tab/browser closes
Type Safety
The JsonStorageManager type parameter ensures type safety:
1 2 3 4 5 6 | |
Separation of Concerns
The two manager classes follow the Single Responsibility Principle:
StringStorageManagerfocuses only on string operationsJsonStorageManagerhandles serialization/deserialization- No unnecessary methods on either class
- Clear intent when reading code
This design makes it immediately obvious whether a storage instance contains strings or complex objects:
1 2 3 4 5 | |
Table component
- State management is done via
useTableReact hook. - Table rendering is done using
Tablecomponent.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
Column definition consists of two mandatory fields: title and render.
fetchData property
The fetchData property is a function that retrieves data for the table. It should return a promise that resolves to an object containing rows (required) and optionally resultCount and nextPage for pagination.
Using createFetcher with SDK functions
The recommended way is to use createFetcher with SDK functions from waldur-js-client:
1 2 3 4 5 6 7 | |
You can pass options to customize the request:
1 2 3 4 5 6 7 8 9 10 11 | |
Using a parser to transform response data
When the API returns data in a nested structure, use the parser option:
1 2 3 4 5 6 7 8 9 10 | |
Custom fetchData function
For static data or custom data sources, create a custom fetcher:
1 2 3 4 5 6 7 8 9 | |
Type safety
The Table component supports TypeScript type inference. When using createFetcher with SDK functions, the row type is automatically inferred from the SDK function's return type.
Automatic type inference
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Explicit type parameter
For custom fetchers or when you need explicit typing, use the generic parameter:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Export feature
Table component supports data export functionality. To enable it:
- Add
enableExportprop to the Table component - Configure export options in column definitions:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Optionally, specify exportTitle property for columns to customize the header in the exported file:
1 2 3 4 5 6 | |
Optional columns
Table component supports optional columns that can be toggled by users. Optional columns allow users to customize their view by showing/hiding specific columns.
- Add
hasOptionalColumnsprop to enable optional columns functionality -
Configure columns with:
id- unique column identifierkeys- defines which fields should be requested from API (allows optimization by fetching only needed fields)optional- mark column as optional to allow toggling
-
For actions column, you can specify mandatory fields that should always be fetched from API using
mandatoryFieldsprop.
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | |
Ordering feature
Table component supports column ordering. To enable it:
- Add
orderFieldproperty to columns that should be sortable - Clicking on column headers will toggle between ascending and descending order
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
Filters feature
Filters are defined using the filters prop of the Table component. This prop accepts a React component that renders the filter UI.
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Filter positions
The filterPosition prop controls where filters are displayed:
| Position | Behavior |
|---|---|
header |
Filters always visible in card header |
menu |
Filters in dropdown menu, toggled with filter button |
sidebar |
Filters in drawer/sidebar panel |
Filter storage and badges
When filters are applied, they are stored in filtersStorage (Redux state) which is used to:
- Display filter badges/chips in the filter bar
- Show filter count on the filter toggle button
- Auto-expand the filter bar when filters are loaded from URL
The flow:
1 2 3 4 5 6 7 8 9 | |
URL query parameter sync
Filters can be synced to URL query parameters for shareable links. Use utilities from @waldur/core/filters:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
URL format
Filters are stored in URL query parameters with compact encoding:
| Value type | URL format | Example |
|---|---|---|
| String | Direct value | ?name=test |
| Object with uuid | uuid::name |
?org=abc123::My+Org |
| Array | JSON encoded | ?tags=["a","b"] |
| Boolean | true/false |
?active=true |
The compact uuid::name format keeps URLs shorter while preserving display names for filter badges.
Navigation behavior
When navigating between pages in the SPA:
- URL params persist - query string is preserved during navigation
- Form re-initialization -
useReinitializeFilterFromUrlre-populates the form when route changes - Auto-show filter bar - when
filtersStoragehas items, the filter bar auto-expands
1 2 3 4 5 | |
Default/initial filters
To set default filter values that can be overridden by URL params:
1 2 3 4 | |
Cross-page filters (Resources sidebar)
The Resources sidebar filter (src/navigation/sidebar/resources-filter/) is a special case that:
- Syncs
organizationandprojectfilters across multiple resource tables - Persists to localStorage for session persistence
- Syncs to URL for shareable links
Priority order:
- URL params (highest) - for shareable links
- localStorage - for session persistence
- No filter - shows all resources
Inline filters
The feature allows users to quickly filter table data by clicking values directly in the table cells, without manually setting filters. When column has inlineFilter property enabled:
- A filter icon appears when hovering over cells in that column
- Clicking the icon adds a filter using the cell's value
- The
inlineFilterfunction transforms row data into the filter value format
Example:
1 2 3 4 5 6 7 8 9 10 | |
Grid mode
Table component supports switching between table and grid views. In grid mode, data is displayed as cards in a responsive grid layout.
To enable grid mode:
- Add
gridItemprop to specify the component used to render each item in grid view - Optionally customize grid layout using
gridSizeprop which accepts Bootstrap column properties - Set
initialModeto 'grid' if you want grid view by default (table view is default)
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
Table tabs
Table component supports tabs for switching between different views or data sets within the same table context. Tabs can navigate to different routes or update URL parameters.
Basic tabs
Define tabs using an array of TableTab objects:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Tab properties
| Property | Type | Description |
|---|---|---|
key |
string \| number |
Unique identifier for the tab |
title |
ReactNode |
Tab label (can include badges, icons) |
params |
Record<string, any> |
URL parameters to set when tab is selected |
state |
string |
Optional UI-router state to navigate to |
default |
boolean |
Mark as default tab when no other tab matches |
Default tab
When navigating to a page without specific tab parameters, no tab will be highlighted by default. Use the default: true property to specify which tab should be selected when no URL parameters match:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Preserving parent tab context
When using subtabs within a parent tab context, you must include all parent tab parameters in each subtab's params. The TableTabs component replaces all URL parameters when navigating, so omitting parent params will cause navigation to lose context.
Wrong - loses parent tab context:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Correct - preserves parent tab context:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Tabs with route navigation
Tabs can navigate to different routes using the state property:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Tabs with counts
Use custom components in title to show counts or badges:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Expandable rows
Table supports expandable rows to show additional details for each row. When enabled, rows can be expanded/collapsed by clicking on them.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
The expandable row component receives the full row object as a prop.
Row actions
Row actions add action buttons to each row. Use rowActions prop with a component that receives the row data.
Dropdown menu (recommended)
For a clean UI, use ActionsDropdownComponent with ActionItem to create a 3-dots dropdown menu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | |
ActionItem properties
| Property | Type | Description |
|---|---|---|
title |
string |
Action label text |
action |
() => void |
Click handler |
iconNode |
ReactNode |
Icon component (use Phosphor icons with weight="bold") |
disabled |
boolean |
Disable the action |
className |
string |
Additional CSS classes (e.g., text-danger) |
iconColor |
string |
Icon color variant (e.g., danger, success) |
Inline buttons
For simple cases with few actions, use inline buttons:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Table actions
Table actions appear in the table header toolbar. Use for actions that affect the whole table or for creating new items:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Complex table example
Here's an example of a complex table combining multiple features (based on the Reviewer Pool implementation):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | |
Key patterns in complex tables
- Memoize filters - Always wrap filter objects in
useMemoto prevent infinite re-renders when using selectors - Memoize columns - Define columns in
useMemofor performance - Use tabs for sub-navigation - Tabs update URL params, allowing deep linking
- Mark default tab - Use
default: trueto highlight the correct tab on initial load - Preserve parent tab context - When using nested subtabs, include parent tab params (e.g.,
{ tab: 'reviewer-pool', pool_tab: 'pool' }) to prevent navigation from losing context - Expandable rows for details - Show additional information without navigating away
- Optional columns - Let users customize their view with
optional: trueandhasOptionalColumns
Terminology policy
We prefer British English over American English. For example, we use cancelled instead of canceled.
Should be applied for naming buttons, separate pages of the process and in list of actions.
Add / Remove
Should be used when an action of creating/adding or deleting/removing is applied to:
- Organizations
- Projects
- Providers
- VMs
- Applications
- SLA
- SSH key
- Team members
Import / Unlink
Should be used when an action of importing or unlinking / deleting a record without undeploying is applied to:
- VMs
Please use "synchronise" instead of "pull" in action title.
Mocking HTTP Requests for Unit Tests
When writing unit tests for frontend components, it's crucial to isolate the component from external dependencies, especially network requests. Mocking HTTP requests allows us to simulate API responses and test our components in a predictable and controlled environment. This guide describes how to use nock, got, and React Testing Library (RTL) to achieve this.
By following these patterns, you can effectively mock HTTP requests in your unit tests, leading to more robust and reliable components.
Key Libraries
- Nock: A powerful HTTP server mocking and expectations library for Node.js. It allows you to intercept outgoing HTTP requests and provide custom responses.
- Got: A human-friendly and powerful HTTP request library for Node.js. We use it in tests to trigger the mocked endpoints and wait for
nockto resolve them. - React Testing Library (RTL): A library for testing React components in a way that resembles how users interact with them.
Basic Setup
To ensure a clean testing environment for each test case, we should set up nock before each test and clean up the mocks afterward. This is typically done in beforeEach and afterEach blocks.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
Mocking Different Scenarios
Successful GET Request
The example above shows a basic successful GET request. You can customize the response data to fit your test case.
1 2 3 4 5 6 | |
Mocking Failed Requests
To test how your component handles API errors, you can mock a request to return an error status code.
1 2 3 4 5 6 7 8 9 10 11 | |
Testing
Unit tests
Unit tests are used for testing React components and utilities. They are written in .test.ts or .test.tsx files located next to the code they test.
Run tests using yarn test command.
Unit tests use written using:
- Vitest as the test runner
- @testing-library/react for testing React components
- @testing-library/user-event for simulating user interactions
Integration tests
Integration tests are implemented using Cypress framework.
- Run all tests headless (CI mode):
yarn ci:test - Open Cypress GUI (requires dev server running):
yarn cypress open
Integration tests are located in:
cypress/e2e/- Test specificationscypress/fixtures/- Test datacypress/support/- Custom commands and utilities
Theme System
This guide documents how dark/light theme switching is implemented in Waldur HomePort.
Architecture Overview
The app uses two separate compiled stylesheets that are dynamically loaded based on the selected theme:
src/metronic/sass/style.scss- Light theme ($mode: default)src/metronic/sass/style.dark.scss- Dark theme ($mode: dark)
SCSS variables use the isDarkMode() function to return different values at compile time:
1 2 3 4 | |
Key Files
| File | Purpose |
|---|---|
src/theme/ThemeProvider.tsx |
React context provider for theme state |
src/theme/useTheme.ts |
Hook to access current theme |
src/theme/ThemeStorage.ts |
localStorage persistence |
src/theme/utils.ts |
Dynamic CSS loading, initial theme detection |
src/theme/ThemeSwitcher.tsx |
UI toggle component |
src/metronic/sass/_tokens.scss |
Semantic design tokens |
src/metronic/sass/_colors.scss |
Theme-aware color definitions |
src/metronic/sass/core/base/functions/_mode.scss |
isDarkMode() SCSS function |
Theme Initialization Flow
Application.tsxwraps the app withThemeProviderThemeProvidercallsgetInitialTheme()which checks:- localStorage for saved preference
- OS
prefers-color-schemesetting - Falls back to 'light'
loadTheme()dynamically imports the appropriate stylesheet- User toggles update localStorage and reload the CSS
Usage Patterns
Pattern 1: Bootstrap Utility Classes (Recommended)
For simple styling, use Bootstrap utility classes that automatically adapt to the theme:
1 2 3 4 5 6 7 8 | |
Common theme-aware classes:
| Class | Light Mode | Dark Mode |
|---|---|---|
bg-primary |
White | Dark gray |
bg-secondary |
Light gray (#f9fafb) | Dark gray (#161b26) |
text-primary |
Dark text | Light text |
text-secondary |
Gray text | Lighter gray text |
text-muted |
Muted gray | Muted light gray |
border-primary |
Light border | Dark border |
Pattern 2: useTheme() Hook
For third-party libraries that need explicit theme values:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Pattern 3: SCSS Design Tokens
When writing custom SCSS, use the semantic design tokens:
1 2 3 4 5 | |
Available tokens (from _tokens.scss):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Pattern 4: CSS Custom Properties
For runtime theming needs, use CSS custom properties:
1 2 3 4 5 6 7 8 9 10 | |
Common Pitfalls
Bootstrap Alert Components
Bootstrap Alert components (<Alert variant="info">) may not properly adapt text colors in dark mode. Instead, use custom styled divs:
1 2 3 4 5 6 7 8 9 10 11 | |
Hardcoded Colors
Avoid hardcoding colors that won't adapt:
1 2 3 4 5 | |
Third-Party Components
Components like react-select, Monaco Editor, and ECharts need explicit theme configuration via the useTheme() hook. Check existing implementations for examples:
src/form/themed-select.tsx- react-select themingsrc/form/MonacoField.tsx- Monaco Editor themingsrc/core/EChart.tsx- ECharts theming
Testing Dark Mode
- Toggle theme using the switcher in the user dropdown menu
- Check that:
- Text is readable against backgrounds
- Borders are visible but not harsh
- Interactive elements have visible hover states
- Third-party components match the overall theme
UI/UX Consistency Guidelines
This document provides comprehensive guidelines for maintaining UI/UX consistency across Waldur HomePort. Following these patterns ensures a predictable, accessible, and professional user experience.
Table of Contents
- Empty States
- Button Visibility (Hide vs Disable)
- Loading States
- Tables and Filters
- Dialogs and Confirmations
- Notifications
- Status Indicators
- Tooltips
- Typography and Content
- Accessibility
- Responsive Behavior
- Anti-Patterns
1. Empty States
Empty states are critical touchpoints that can either frustrate users or guide them toward productive actions. Never leave users at dead ends.
1.1 Empty State Types
| Type | Purpose | Example |
|---|---|---|
| First-use | Onboarding opportunity | "No projects yet. Create your first project to get started." |
| No search results | Help refine search | "Your search 'xyz' did not match any resources." |
| Filtered empty | Suggest filter modification | "No resources matching current filters" |
| User-cleared | Task completion | "All tasks completed!" |
| Error state | Recovery with retry | "Unable to load data." + Reload button |
1.2 Table Empty States
Use the NoResult component for all table empty states:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
Message hierarchy: Title → Explanation → CTA (call-to-action)
Utility functions (from src/table/utils.tsx):
1 2 3 4 5 6 7 8 9 10 11 12 | |
1.3 Inline Empty Values
Standard: Use DASH_ESCAPE_CODE (—) for null/undefined values in displays:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
For arrays:
1 2 3 4 5 | |
1.4 Empty State Message Templates
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
2. Button Visibility (Hide vs Disable)
The decision to hide vs disable a button significantly impacts user experience. Use this decision matrix consistently.
2.1 Decision Matrix
| Scenario | Action | Rationale |
|---|---|---|
| User lacks permission (role-based) | HIDE | User will never be authorized in current context |
| Resource in wrong state | DISABLE + tooltip | Temporary; user can fix by changing state |
| Action in progress | DISABLE + spinner | Will become available when complete |
| Feature not applicable | HIDE | Doesn't apply to this resource type |
| Validation incomplete | DISABLE + tooltip | User can complete requirements |
| Quota exceeded | DISABLE + tooltip | User can request more quota |
2.2 Disabled Button Requirements
ALWAYS provide a tooltip explaining WHY the button is disabled.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
Visual requirements:
- Disabled buttons use design token colors (e.g.,
text-muted,btn-disabled) - NOT opacity - Opacity is reserved for overlays only; components use solid colors for predictability, accessibility, and theming
- Keep the same width to prevent layout shift
- Use
aria-disabledfor accessibility
2.3 Permission Patterns
Use hasPermission() utility consistently:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Staff-only actions:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
3. Loading States
Consistent loading feedback prevents user confusion and maintains perceived performance.
3.1 Table Loading
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
3.2 Button Loading
Use the pending prop on buttons:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Key behaviors:
- Button shows spinner and becomes disabled
- Button width stays stable (no layout shift)
- Label remains visible next to spinner
3.3 Error States
Use LoadingErred component for recoverable errors:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Always provide a retry action - never leave users stuck.
4. Tables and Filters
4.1 Filter Visibility Rules
| Filter Position | When Visible | On Empty Table |
|---|---|---|
header |
Always | Always visible |
menu |
Toggle button click | Show toggle button |
sidebar |
When filters active OR toggled | Show toggle button (allow discovery) |
Important: Never completely hide filters on empty tables. Users need to discover that filters exist and may be causing the empty state.
When filters return no results, show a specific empty state:
- Message: "No results match your filters"
- Actions: "Clear filters" / "View filters"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
1 2 3 4 5 6 | |
4.2 Filter Behavior Checklist
- Clear visual indication when filters are active (badge count)
- Prominent "Clear all" functionality
- Reset to page 1 when filters change
- Persist filter state across navigation (when appropriate)
- Show "No results matching filters" message (not generic empty)
4.3 Pagination Rules
1 2 3 4 5 6 7 8 9 10 11 12 | |
5. Dialogs and Confirmations
5.1 Confirmation Dialog Pattern
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
Button order: Cancel (left), Confirm (right)
Clear action labels: Use "Delete", "Restart", "Submit" - not "OK" or "Yes"
5.2 Form Dialog Pattern
1 2 3 4 5 6 7 8 9 10 11 | |
6. Notifications
Use the notification utilities from @waldur/store/notify:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
Configuration:
- Duration: 7000ms (7 seconds)
- Position: top-right
- Dismissible: Yes (show dismiss button)
7. Status Indicators
7.1 StateIndicator Component
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
7.2 Variant Mapping Guidelines
| State Category | Variant | Examples |
|---|---|---|
| Success/Active | success |
Active, Running, Completed, Approved |
| Warning/Pending | warning |
Pending, Processing, Updating |
| Error/Failed | danger |
Error, Failed, Rejected, Unavailable |
| Neutral/Default | default |
Draft, Archived, Paused, Unknown |
| Info | info |
New, In Review |
Custom variants (for differentiation within same category):
pink, blue, teal, indigo, purple, rose, orange, moss
8. Tooltips
8.1 Usage Guidelines
Use tooltips for:
- Disabled buttons: Explain why disabled (required)
- Icon-only buttons: Always provide tooltip describing the action (required)
- Truncated text: Show full text
- Icons without labels: Describe the element's purpose
- Complex terms: Provide definitions
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
8.2 Disabled Element Tooltip Pattern
From ActionItem - use question icon for disabled action explanation:
1 2 3 4 5 6 7 8 9 10 11 12 | |
9. Typography and Content
9.1 Text Truncation
1 2 3 4 5 6 7 8 9 10 11 12 | |
9.2 Internationalization
All user-facing text must use translate():
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
10. Accessibility
10.1 Disabled State Accessibility
1 2 3 4 5 6 7 8 9 10 11 | |
10.2 Keyboard Navigation
- All interactive elements must be keyboard accessible
- Use proper focus management in modals
- Maintain logical tab order
10.3 Screen Reader Support
1 2 3 4 5 6 7 8 9 10 | |
11. Responsive Behavior
11.1 Breakpoints
1 2 3 4 5 6 7 8 | |
11.2 Filter Position Adaptation
1 2 3 4 | |
11.3 Interactive Element Sizing
Form controls (inputs, selects, textareas):
- Minimum height: 40px for adequate touch/click area
Buttons:
- Three standard sizes: 44px (large), 36px (default), 28px (small)
- All sizes are acceptable for desktop interfaces
- Use size appropriate to context and hierarchy
Icon-only buttons:
- Should maintain adequate click area even with small icons
- Consider padding to reach at least 28px hit area
1 2 3 4 | |
Note: The 44px minimum touch target (WCAG) is primarily for mobile/touch interfaces. Desktop applications can use smaller interactive elements.
12. Anti-Patterns
What NOT to Do
| Anti-Pattern | Problem | Correct Approach |
|---|---|---|
Redundant length === 0 checks |
Table already handles empty | Trust the Table component |
Mixed null display (—, "N/A", "", "None") |
Inconsistent | Always use DASH_ESCAPE_CODE or renderFieldOrDash |
| Hide + Disable for same scenario | Confusing | Follow decision matrix consistently |
| Disabled button without tooltip | User doesn't know why | Always provide tooltip |
| Hard-coded strings | Not translatable | Always use translate() |
| Hidden filters on empty tables | Can't discover filters | Show filter toggle |
| Empty state without CTA | Dead end | Always provide next action |
user.is_staff checks everywhere |
Inconsistent | Use hasPermission() utility |
Code Examples - Bad vs Good
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 5 6 7 | |
1 2 3 4 5 6 7 | |
1 2 3 4 5 6 7 8 9 10 11 | |
Quick Reference
Key Imports
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | |
Decision Trees
Should I hide or disable this button?
1 2 3 4 5 6 | |
What empty state should I show?
1 2 3 4 5 6 7 | |
Top 10 Inconsistencies to Fix
Based on a codebase analysis, these are prioritized inconsistencies that should be addressed:
1. Mixed Null/Empty Display Values
Files affected: src/vmware/PortsList.tsx, src/project/manage/ProjectGeneral.tsx, src/user/hooks/HooksList.tsx, and others
Problem: Using || 'N/A' instead of renderFieldOrDash()
1 2 3 4 5 6 7 8 | |
2. Scattered Staff Permission Checks
Files affected: Multiple files with direct user.is_staff checks
Problem: Permission checks done inconsistently across components
1 2 3 4 5 | |
3. Sidebar Filters Hidden on Empty Tables
Files affected: src/table/Table.tsx:301-323
Problem: Sidebar filters only show when filtersStorage.length > 0, preventing filter discovery
1 2 3 4 | |
4. Disabled Buttons Without Tooltips
Various components have disabled buttons that don't explain why they're disabled.
Fix: Audit all disabled props and ensure accompanying tooltip prop
5. Empty Copy Field Values
Files affected: src/proposals/manage/CallProposalsList.tsx, src/openstack/openstack-tenant/TenantPortsList.tsx
Problem: Using || '' for copy fields can result in copying empty string
1 2 3 4 5 | |
6. Inconsistent Empty State Messages
Various list components show plain text instead of using the NoResult component.
Fix: All list empty states should use NoResult with appropriate messaging
7. Mixed Boolean Permission Returns
Files affected: src/permissions/hasPermission.ts
Problem: Function returns true or undefined instead of true or false
1 2 3 4 5 6 | |
8. Invitation Display Inconsistencies
Files affected: src/invitations/join-organization/submission.tsx
Problem: Using || 'N/A' in user-facing messages
1 2 3 4 | |
9. Form Field Empty Fallbacks
Files affected: Various form components using || ''
Problem: Inconsistent handling of empty form values
10. Missing Error State Handling
Various data-fetching components don't show LoadingErred on fetch failure.
Fix: Audit all data-fetching components for proper error state handling
Implementation Checklist
When fixing these inconsistencies:
- Run
yarn lint:checkafter changes - Verify no TypeScript errors with
yarn build - Test empty states manually
- Verify disabled button tooltips appear
- Check responsive behavior on mobile
- Run relevant unit tests
Ended: Ui
Ad-hoc scripts
This section describes different ad-hoc scripts used by Waldur developers.
Usage-related scripts
Restore CPU/GPU/RAM usages for a month
Sometimes, Waldur can have issues with data correctness. They can be caused by different circumstansies, e.g. problems with data syncronization between Waldur backend and service provider software. In order to resolve these issues, a user can restore usage data with restore_usages.py script.
Generate openmetrics file with usages for several months
If a user needs to create openmetrics file with usages, e.g. for historical data backfilling in Prometheus, the generate_openmetrics_usages.py can be used.
Wipe tenants and all related resources from OpenStack
If a user needs to remove a tenant with all related objects (instances, volumes, backups, etc.) manually, this script should be used. It removes all the tenants with names from tenant_names list using an OpenStack administrator project. Please, replace <main-tenant-uuid> (line 13) with the corresponding UUID of the admin tenant in Waldur.
Import projects with slug info
A CSV-file with the following format is required:
1 2 | |
Put this file to the /tmp/projects-info.csv location and
execute this script with your Waldur shell.
Migrate legacy SLURM allocations to a new SLURM-remote offering
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | |
Auto-Provisioning
Waldur's auto-provisioning feature automatically creates projects and provisions resources for new users based on predefined rules. This capability streamlines user onboarding by eliminating manual setup processes.
Overview
Auto-provisioning works by matching new users against configured rules based on email patterns or affiliations. When a matching rule is found, the system:
- Creates or assigns users to projects
- Grants appropriate project roles
- Optionally provisions marketplace resources
- Processes orders automatically
Core Components
Rule Model
The Rule model (src/waldur_autoprovisioning/models.py:11) defines auto-provisioning configurations with the following key fields:
- customer: Target customer for project creation (optional when using organization mapping)
- plan: Optional marketplace plan to provision
- plan_attributes: Custom attributes for resource provisioning
- plan_limits: Resource limits (e.g.,
{"vcpu": 4, "ram": 8192, "storage": 100}) - project_role: Role assigned to users in created projects
- use_user_organization_as_customer_name: Map user's organization claim to existing customer
- project_name_template: Template for project naming (e.g.,
"{username}_workspace")
User Matching
Rules use the UserDetailsMatchMixin for pattern matching:
- user_email_patterns: Regex patterns for email matching (e.g.,
[".+@example.com"]) - user_affiliations: Organization affiliations for matching (e.g.,
["staff", "faculty"]) - user_identity_sources: Identity provider matching (e.g.,
["eduGAIN", "SAML"])
AAI-Based Filtering
Rules also support AAI (Authentication and Authorization Infrastructure) attributes for more granular user matching:
- user_nationalities: ISO 3166-1 alpha-2 country codes (e.g.,
["DE", "FR", "IT"]) - user_organization_types: SCHAC organization type URNs (e.g.,
["urn:schac:homeOrganizationType:int:university"]) - user_assurance_levels: REFEDS assurance profile URIs (e.g.,
["https://refeds.org/assurance/IAP/high"])
Pattern matching uses OR logic within a field: a user matches if ANY email pattern OR ANY affiliation OR ANY identity source matches.
Note: For assurance levels, AND logic is used - user must have ALL specified assurance URIs.
Organization Mapping Feature
Organization Mapping Overview
The organization mapping feature (added in commit 77c31bb25) allows auto-provisioning rules to dynamically resolve customers based on user organization claims from identity providers. This enables multi-tenant scenarios where each organization has its own customer in Waldur.
How It Works
When use_user_organization_as_customer_name is enabled:
- System extracts organization claim from user's identity provider data
- Looks up existing customer with matching name
- Creates project under the resolved customer
- Validates user has protected details flag set
Protected User Details
For security, organization mapping requires users to have protected details:
1 2 3 4 5 6 7 8 9 | |
Customer Resolution Logic
From src/waldur_autoprovisioning/handlers.py:33:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
API Endpoints
Rules Management
Endpoint: /api/autoprovisioning-rules/
Permissions:
- List/Read: Customer role permissions
- Create/Update/Delete: Staff only
Serialization: RuleSerializer provides comprehensive API access with related object details:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Validation Rules
The serializer enforces these validation constraints:
- Either
customeroruse_user_organization_as_customer_name=truemust be specified - Either
project_roleorproject_role_namemust be provided (but not both) - Project role must be valid for project-level permissions
- Email patterns must be valid regex expressions
Processing Flow
Trigger Mechanism
Auto-provisioning activates via Django signal (src/waldur_autoprovisioning/apps.py:13):
1 2 3 4 5 | |
Auto-Provisioning Workflow
- User Creation: New user triggers
handle_new_userhandler - Rule Matching: System finds applicable rules using
Rule.get_objects_by_user_patterns() - Customer Resolution: Either use configured customer or resolve from organization
- Project Creation:
get_or_create_project()creates or assigns project - Resource Provisioning: If plan is specified, creates marketplace order
- Order Processing: Marketplace processes the order asynchronously
Configuration Examples
Basic Project Creation
Create projects without resources:
1 2 3 4 5 6 | |
Resource Provisioning
Auto-provision OpenStack tenants:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Organization-Based Provisioning
Use user's organization for customer assignment:
1 2 3 4 5 6 | |
Multi-Tenant Academic Setup
Support multiple universities with their own customers:
1 2 3 4 5 6 7 8 9 10 11 12 | |
AAI-Based Access Control
Restrict provisioning to users with verified identity from EU universities:
1 2 3 4 5 6 7 8 9 | |
This rule only matches users who:
- Have an academic email address
- Have nationality from one of the listed EU countries
- Are from a university (SCHAC organization type)
- Have medium or higher identity assurance from their IdP
Security and Validation
Protected Users
Organization-based provisioning requires protected user details to ensure organization claims come from trusted identity providers and cannot be manipulated by users.
Input Validation
- Email patterns validated as proper regex
- Project role must be valid project-level role
- Customer or organization requirement enforced
- Plan compatibility verified
- Mutual exclusion of customer specification methods
Permission Controls
- Rules managed by staff users only
- Customer-scoped access for viewing
- Project creation respects customer permissions
Monitoring and Logging
The system provides comprehensive logging for troubleshooting:
- Invalid regex patterns logged and skipped
- Missing organization claims logged
- Multiple customer matches warned
- Order creation and processing tracked
- Protected user validation failures logged
Integration Points
Marketplace Integration
Auto-provisioning integrates with Waldur's marketplace:
- Uses
marketplace_utils.generate_resource_name()for naming - Creates
ResourceandOrderobjects - Triggers
process_order_on_commit()for async processing - Respects marketplace offering types and constraints
User Management Integration
- Hooks into user creation process
- Respects user protection settings
- Leverages organization claims from identity providers
- Integrates with role-based access control
Identity Provider Integration
- Reads organization claims from SAML/OIDC providers
- Validates user registration method for security
- Maps organization names to existing customers
- Supports multi-tenant identity scenarios
Best Practices
- Rule Design: Create specific rules for different user groups
- Organization Mapping: Ensure customer names match organization claims exactly
- Naming Templates: Use descriptive project naming templates
- Resource Limits: Set appropriate defaults for auto-provisioned resources
- Monitoring: Monitor logs for failed provisioning attempts
- Security: Configure protected registration methods for organization-based rules
- Multi-Tenancy: Use organization mapping for SaaS scenarios with multiple customers
ComponentUsage Model Documentation
Overview
The ComponentUsage model tracks detailed usage data for resource components in the Waldur marketplace system. It provides comprehensive consumption tracking with billing period and plan period associations, supporting both one-time and recurring usage patterns.
Model Definition
File: src/waldur_mastermind/marketplace/models.py:1835
1 2 3 4 5 6 7 | |
Fields
| Field | Type | Description |
|---|---|---|
resource |
ForeignKey(Resource) | The resource this usage belongs to |
component |
ForeignKey(OfferingComponent) | The component being tracked |
usage |
DecimalField | Usage amount (max_digits=20, decimal_places=2) |
date |
DateTimeField | When the usage occurred |
plan_period |
ForeignKey(ResourcePlanPeriod) | Associated billing plan period (optional) |
billing_period |
DateField | Billing period for this usage |
recurring |
BooleanField | Whether value reuses monthly until changed |
modified_by |
ForeignKey(User) | User who last modified this record |
Relationships
Required Relationships
- Resource: Links to the marketplace resource being consumed
- OfferingComponent: Links to the specific component type (CPU, RAM, storage, etc.)
Optional Relationships
- ResourcePlanPeriod: Associates usage with specific billing plan timeframes
- User: Tracks who modified the usage record
Constraints
The model enforces uniqueness through two constraints:
- With plan_period: Unique combination of
[resource, component, plan_period, billing_period] - Without plan_period: Unique combination of
[resource, component, billing_period]whenplan_periodis NULL
Creating ComponentUsage Records
1. Direct Creation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
2. Via Factory (Testing)
1 2 3 4 5 6 7 8 | |
3. Via API Endpoint
POST /api/marketplace-component-usages/set_usage/
1 2 3 4 5 6 7 8 9 10 11 | |
Alternative format using plan_period:
1 2 3 4 5 6 7 8 9 10 | |
Notes:
- Either
resourceorplan_periodmust be provided (not both) usagesis an array - you can submit multiple component usages in one requesttypeis the component type string (e.g., "cpu", "ram", "storage"), not a UUIDamountis the usage value (notusage)dateis automatically set to the current time - you don't need to provide itdescriptionandrecurringare optional fields
4. Via Utility Function
1 2 3 4 | |
Usage Patterns
Automatic Usage Import
The import_current_usages() function automatically creates/updates ComponentUsage records:
File: src/waldur_mastermind/marketplace/utils.py:941
1 2 3 4 5 | |
Get-or-Update Pattern
The system uses a get-or-update pattern that preserves the maximum usage value:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Recurring Usage
Set recurring=True for usage that should be automatically carried forward each month until changed:
1 2 3 4 5 6 7 | |
API Access
ViewSet
Class: ComponentUsageViewSet
File: src/waldur_mastermind/marketplace/views.py:2840
- Endpoint:
/api/marketplace-component-usages/ - Permissions: Generic role filter + structure permissions
- Actions: Read-only +
set_usageaction - Filtering: By resource, component, date ranges, etc.
Serializer
Class: ComponentUsageSerializer
File: src/waldur_mastermind/marketplace/serializers.py:2200
Includes read-only fields for related objects:
resource_name,resource_uuidoffering_name,offering_uuidproject_name,project_uuidcustomer_name,customer_uuid
Billing Integration
ComponentUsage records integrate with the billing system through:
- ResourcePlanPeriod: Associates usage with specific billing plans
- billing_period: Groups usage by month for invoice generation
- Invoice Items: Usage data flows into invoice line items
The get_invoice_item_for_component_usage() function links usage records to invoice items for billing purposes.
Testing
Factories Available
1 2 3 4 5 6 | |
Test Examples
See src/waldur_mastermind/marketplace/tests/test_usage.py for comprehensive test examples including:
- Usage filtering by date ranges
- Plan period associations
- API endpoint testing
- Billing integration tests
ComponentUserUsage Model
ComponentUserUsage Overview
The ComponentUserUsage model tracks component usage on a per-user basis, providing detailed consumption data for individual users within resources. It works in conjunction with ComponentUsage to provide granular user-level usage tracking and analysis.
ComponentUserUsage Model Definition
File: src/waldur_mastermind/marketplace/models.py:1880
1 2 3 4 5 6 7 | |
ComponentUserUsage Fields
| Field | Type | Description |
|---|---|---|
user |
ForeignKey(OfferingUser) | The offering user (optional) |
username |
CharField | Username string (max_length=100) |
component_usage |
ForeignKey(ComponentUsage) | Associated component usage record |
usage |
DecimalField | User-specific usage amount (max_digits=20, decimal_places=2) |
ComponentUserUsage Relationships
ComponentUserUsage Required Relationships
- ComponentUsage: Links to the parent component usage record
ComponentUserUsage Optional Relationships
- OfferingUser: Links to the specific offering user account (can be null)
ComponentUserUsage Constraints
The model enforces uniqueness through:
- Unique together:
("username", "component_usage")- prevents duplicate user usage for same component usage record
Creating ComponentUserUsage Records
1. Via Update-or-Create Pattern
The most common creation pattern uses update_or_create():
1 2 3 4 5 6 7 8 9 10 11 | |
2. Via Utility Function
File: src/waldur_mastermind/marketplace/utils.py:2300
1 2 3 4 | |
3. Direct Creation
1 2 3 4 5 6 7 | |
ComponentUserUsage Usage Patterns
Automatic Synchronization
The sync_component_user_usage() function automatically creates/updates user usage records from allocation data:
1 2 3 4 5 6 7 8 9 10 11 | |
Username vs User Relationship
- username: Always required, stores the string username
- user: Optional, links to
OfferingUserrecord when available - This dual approach supports scenarios where user accounts may not exist in the system yet
ComponentUserUsage API Access
ComponentUserUsage ViewSet
Class: ComponentUserUsageViewSet
File: src/waldur_mastermind/marketplace/views.py:2850
- Endpoint:
/api/marketplace-component-user-usages/ - Permissions: Generic role filter + structure permissions
- Actions: Read-only operations
- Filtering: By component usage, user, username, etc.
ComponentUserUsage Serializer
Class: ComponentUserUsageSerializer
File: src/waldur_mastermind/marketplace/serializers.py:2120
Key fields exposed:
user: Hyperlinked to OfferingUsercomponent_usage: Hyperlinked to ComponentUsagemeasured_unit: Read-only from componentusername,usage,created, etc.
ComponentUserUsage User Limits
ComponentUserUsageLimit Model
A related model ComponentUserUsageLimit defines usage limits per user:
1 2 3 4 5 6 7 8 9 | |
Constraints: Unique together ("resource", "component", "user")
Usage Validation
The system validates user usage against limits during creation:
1 2 3 4 5 6 7 8 9 | |
ComponentUserUsage Integration Patterns
SLURM Plugin Integration
ComponentUserUsage is commonly used with SLURM allocations:
1 2 3 4 5 | |
Remote Plugin Integration
Remote plugins use ComponentUserUsage for external system synchronization:
File: src/waldur_mastermind/marketplace_remote/tasks.py
ComponentUserUsage Testing
ComponentUserUsage Test Examples
See src/waldur_mastermind/marketplace/tests/test_usage.py for test examples including:
- User usage creation and validation
- Limit enforcement testing
- API endpoint testing
- Integration with ComponentUsage
Factory Usage
While there's no dedicated factory, you can create test records:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
ComponentUserUsage Related Models
- ComponentUsage: Parent usage record this user usage belongs to
- OfferingUser: User account within the offering context
- ComponentUserUsageLimit: Per-user usage limits
- Resource: The marketplace resource (via ComponentUsage)
- OfferingComponent: Component type (via ComponentUsage)
ComponentUsage and ComponentUserUsage Relationship
Summary
- ComponentUsage: Tracks total component usage for a resource
- ComponentUserUsage: Breaks down usage by individual users
- Relationship: ComponentUserUsage → ComponentUsage (many-to-one)
- Use Case: Detailed user-level billing and usage analysis
Course Accounts in Waldur
Overview
Course accounts provide temporary access management for educational and training purposes within Waldur. This feature is optional and enables integration with external learning management systems to provide time-limited access to resources for course participants.
Architecture
Core Components
Course Account Model
Located in src/waldur_mastermind/marketplace/models.py, the CourseAccount model provides the foundation for course-based access management:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Key Features
- Project Scoped: Course accounts are always associated with projects of kind
COURSE - User Linkage: Each course account creates and links to a Waldur user
- State Management: Accounts have state tracking (OK, CLOSED, ERRED)
- Email Tracking: Stores email for participant communication
- Error Handling: Built-in error message and traceback storage
State Management
Course accounts use a finite state machine with three states:
- OK (0): Account is active and operational
- CLOSED (1): Account has been closed/deactivated
- ERRED (2): Account is in error state
State transitions:
set_state_ok(): ERRED → OKset_state_closed(): OK/ERRED → CLOSEDset_state_erred(): * → ERRED
Backend Integration
Configuration Settings
Course account functionality requires the following settings in WALDUR_CORE:
1 2 3 4 5 6 7 8 | |
Mock Mode
For development and testing, a mock backend can be enabled:
1 | |
This simulates course account operations without requiring external backend connections.
Backend API Requirements
When COURSE_ACCOUNT_USE_API is enabled, the backend must implement the following endpoints:
1. Authentication Endpoint
POST {COURSE_ACCOUNT_TOKEN_URL}
Request:
1 2 3 4 5 | |
Response:
1 2 3 | |
2. Create Course Account
POST {COURSE_ACCOUNT_URL}
Headers:
1 2 | |
Request Body:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Response:
1 2 3 4 5 6 7 8 9 | |
3. Get Course Account
GET {COURSE_ACCOUNT_URL}/{username}
Headers:
1 | |
Response:
1 2 3 4 5 6 7 8 9 | |
4. Close Course Account
PUT {COURSE_ACCOUNT_URL}/{username}/close
Headers:
1 | |
Response:
1 2 3 4 5 6 | |
5. Bulk Create Course Accounts
The backend should support batch creation of course accounts through the same POST endpoint, accepting an array of account objects.
API Endpoints (Frontend)
Course Account Management
- List:
GET /api/marketplace-course-accounts/ - Create:
POST /api/marketplace-course-accounts/ - Retrieve:
GET /api/marketplace-course-accounts/{uuid}/ - Delete:
DELETE /api/marketplace-course-accounts/{uuid}/ - Bulk Create:
POST /api/marketplace-course-accounts/create_bulk/
Note: Update operations are disabled for course accounts to maintain consistency with external systems.
API Response Fields
Each course account includes the following fields:
Basic Fields
uuid: Unique identifier for the course accountcreated: Account creation timestampmodified: Last modification timestampemail: Participant email addressdescription: Optional description of the accountstate: Current account state (OK, Closed, Erred)
User Information
user_uuid: UUID of the linked Waldur userusername: Username of the linked user
Project Information
project: UUID of the parent course projectproject_uuid: Same as project (for consistency)project_name: Name of the course projectproject_slug: URL-friendly project identifierproject_start_date: Course project start date (if set)project_end_date: Course project end date (required for course projects)
Customer Information
customer_uuid: UUID of the customer that owns the projectcustomer_name: Name of the customer organization
Error Tracking
error_message: Human-readable error description (if account is in error state)error_traceback: Technical error details for debugging
Filtering and Ordering
The course accounts list endpoint supports comprehensive filtering and ordering options:
Basic Filters
username: Filter by username (exact match)email: Filter by email (case-insensitive contains)state: Filter by account state (OK, Closed, Erred)project_uuid: Filter by project UUID
Date Range Filters
project_start_date_after: Show accounts where project starts after this dateproject_start_date_before: Show accounts where project starts before this dateproject_end_date_after: Show accounts where project ends after this dateproject_end_date_before: Show accounts where project ends before this date
Ordering Options
Use the o parameter to order results by:
created: Creation datemodified: Modification datestate: Account stateemail: Email addressusername: Usernameproject_name: Project nameproject_start_date: Project start dateproject_end_date: Project end date
Add - prefix for descending order (e.g., o=-created).
Example API Requests
Basic Listing
1 | |
Filter by Active Accounts
1 | |
Filter by Email Contains
1 | |
Filter by Project Date Range
1 | |
Combine Filters with Ordering
1 | |
Order by Project Start Date
1 | |
Permissions
Course account operations require the MANAGE_COURSE_ACCOUNT permission at the appropriate scope:
- Create: Permission required at project or customer level
- Delete: Permission required at project or customer level
- List/View: Staff, support, or users with MANAGE_COURSE_ACCOUNT permission
Project Requirements
Course accounts can only be created in projects with kind=COURSE. This ensures clear separation between regular projects and educational/training projects.
Lifecycle Management
Automatic Cleanup
Course accounts are automatically closed when their parent project is deleted:
- Signal handler:
close_course_accounts_after_project_removal - Processes all course accounts in the project
- Attempts to close each account via external API
- Continues even if individual account closures fail
User Creation
When a course account is created:
- External API returns account details including username
- A Waldur user is automatically created with:
- Username from external system
- Email from the course account
- Description: "Course Account"
- The user is linked to the course account
Error Handling
Course accounts track errors through:
- state: Transitions to ERRED state on failures
- error_message: Human-readable error description
- error_traceback: Full error traceback for debugging
Failed operations automatically transition accounts to ERRED state, which can be recovered using set_state_ok() after resolving issues.
Event Notifications
Course account operations trigger events that can be subscribed to:
- Account creation
- Account updates
- Account deletion
- State changes
These events can be used for:
- Email notifications to participants
- Integration with learning management systems
- Audit logging
Integration with Site Agents
Course accounts can be integrated with site agents for automated provisioning:
- Site agents can monitor course account creation
- Automatically provision resources for course participants
- Send welcome emails and access instructions
- Clean up resources when accounts are closed
Implementation Checklist
When implementing a course account backend, ensure:
- OAuth2 token endpoint is available and returns bearer tokens
- Account creation endpoint generates unique usernames
- Accounts have expiration dates for time-limited access
- Get operation returns current account status
- Close operation marks accounts as disabled
- Bulk creation is supported for efficiency
- Error responses use standard HTTP status codes
- All endpoints validate bearer token authentication
- Account status transitions are logged appropriately
Security Considerations
- Temporary Access: Course accounts should have time-limited access
- Username Generation: External system must ensure unique usernames
- Permission Checks: All operations validate user permissions at appropriate scope
- Audit Logging: All course account operations are logged for audit trails
- Cleanup: Accounts are automatically closed when parent resources are deleted
- Project Isolation: Course accounts are restricted to COURSE-type projects
Differences from Service Accounts
| Feature | Course Accounts | Service Accounts |
|---|---|---|
| Purpose | Temporary educational access | Long-term automation access |
| Scope | Project-level only | Project and Customer levels |
| API Keys | Not supported | Supported with rotation |
| User Creation | Automatic | Not created |
| Update Operations | Disabled | Enabled |
| Expiration | Expected | Optional |
| Bulk Operations | Supported | Not supported |
Testing
Mock mode can be enabled for testing without external dependencies:
1 2 | |
This simulates all backend operations locally, useful for:
- Unit tests
- Development environments
- Demo installations
- Training environments
Customer Onboarding - Complete Guide
Overview
The Customer Onboarding system allows users to register their organizations in Waldur through two methods:
- Automatic Validation - Real-time verification via business registry APIs
- Manual Validation - Staff review with supporting documentation (fallback when automatic fails)
Key Features
- ✅ Multi-country support (Estonia, Austria, Sweden, Norway)
- ✅ Extensible backend system for adding new countries
- ✅ Flexible checklist-based data collection
- ✅ Automatic fallback to manual validation
- ✅ Field mapping to Customer model
- ✅ Intent/purpose metadata collection
- ✅ Document upload support
- ✅ Email notifications
- ✅ Automatic expiration handling
Architecture & Structure
Directory Structure
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Core Models
1. OnboardingVerification
The main model tracking the verification process.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Key Methods:
- get_or_create_checklist_completion(checklist_type) - Gets/creates checklist
- extract_data_from_checklist() - Extracts answers from checklists
- can_customer_be_created() - Validates if customer creation is possible
- create_customer_if_verified() - Creates Customer from verification
2. OnboardingQuestionMetadata
Maps checklist questions to Customer fields or intent metadata.
1 2 3 4 | |
Example Mappings:
- Question "Contact email" → maps_to_customer_field='email'
- Question "Purpose" → intent_field='intent'
3. OnboardingJustification
Manual validation request with supporting documentation.
1 2 3 4 5 6 7 8 | |
4. OnboardingJustificationDocumentation
File uploads for manual validation.
1 2 3 | |
Backend System
The backend system is extensible - designed to easily add new countries and validation methods.
Base Classes
ValidationRequest - Standardized input:
1 2 3 4 5 6 7 | |
ValidationResult - Standardized output:
1 2 3 4 5 6 7 8 9 | |
CompanyRegistryBackend - Abstract base:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Available Backends
| Backend | Country | Method | API |
|---|---|---|---|
EstonianAriregisterBackend |
Estonia (EE) | ariregister |
e-Business Register |
AustriaRegisterBackend |
Austria (AT) | wirtschaftscompass |
WirtschaftsCompass |
SwedenRegisterBackend |
Sweden (SE) | bolagsverket |
Bolagsverket |
NorwayRegisterBackend |
Norway (NO) | breg |
Brønnøysundregistrene |
Backend Registry
1 2 3 4 5 6 7 8 9 10 11 12 | |
Adding New Countries
To add a new country (e.g., Finland):
- Create backend file:
backends/finland.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
- Register backend: Add to
backends/__init__.py
1 2 3 | |
- Add enum: Update
enums.py
1 2 3 4 5 6 7 8 | |
- Done! The new backend is automatically available via API.
Automatic Validation
How It Works
- User initiates - Provides company registration code and selects validation method
- Backend selected - System routes to appropriate country backend
- API call - Backend queries business registry API
- Verification - Checks if user is authorized to represent the company
- Result - Updates verification with success/failure status
Validation Flow
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | |
Success Scenario
Example: Estonian Company
Request:
1 2 3 4 | |
Backend Process:
1. Query Äriregister API with company code 14684114
2. Receive company data (name, status, persons)
3. Check if civil_number matches authorized person
4. Find user roles (board member, etc.)
Response (verification updated):
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Failure Scenarios
1. User Not Authorized
1 2 3 4 5 | |
What happens: - User's personal ID not found in company's authorized persons - User can create justification with explanation
2. Company Not Found
1 2 3 4 5 | |
What happens: - Invalid or non-existent registration code - User should verify the code or use manual validation
3. API Error
1 2 3 4 5 | |
What happens: - Business registry API is down or timeout - User can retry later or use manual validation
4. Configuration Error
1 2 3 4 5 | |
What happens: - Backend not properly configured - Admin must configure settings (API keys, endpoints)
Security Considerations
⚠️ Important: Raw Response Sanitization
The raw_response field stores API responses for debugging. To prevent credential exposure:
1 2 3 4 5 6 | |
All backends should return only the business data section, not the full API response including request parameters (which may contain credentials).
Manual Validation (Fallback)
When automatic validation fails or is unavailable, users can request manual review by staff.
When to Use Manual Validation
- Automatic validation failed - User not found in registry but has authority
- New company - Not yet in public registry
- Special cases - Complex organizational structures
- No automatic method - Country not supported
- API unavailable - Technical issues with registry
Manual Validation Flow
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | |
Justification Review (Staff)
List Pending Justifications:
1 | |
Review Justification:
1 2 3 4 5 | |
What happens on approval:
1. justification.validation_decision = approved
2. verification.status = verified
3. Email notification sent to user
4. User can now create customer
What happens on rejection:
1. justification.validation_decision = rejected
2. verification.status = failed
3. Email notification sent to user
4. User must resubmit or provide more evidence
Document Requirements
Staff should verify: - ✅ Company registration document - Proves company exists - ✅ Authorization proof - User has authority (board appointment, power of attorney) - ✅ Identity verification - User is who they claim to be - ✅ Recent date - Documents are current (not expired)
Common acceptable documents: - Company registry extract - Board appointment certificate - Power of attorney - Signed company documents - Government-issued ID
Checklist System
Checklists collect additional data during onboarding. Two types exist:
1. ONBOARDING_CUSTOMER_DATA
Purpose: Collect data that maps to Customer model fields.
When used: - Manual validation: Required (provides customer data) - Automatic validation: Optional/skipped (data comes from registry)
Example Questions:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
Field Mappings:
Customer model fields that can be mapped:
- name, native_name, abbreviation
- email, phone_number, contact_details
- address, postal
- vat_code, registration_code, backend_id
- bank_name, bank_account
- homepage, domain
- agreement_number, sponsor_number
2. ONBOARDING_INTENT_DATA
Purpose: Understand why user wants to create organization.
When used: - All validation types: Required
Example Questions:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
Intent Metadata:
Intent data is stored as onboarding_metadata in verification, not in Customer model:
1 2 3 4 5 6 7 | |
Customizing Checklists
Via Admin Interface:
1. Navigate to Checklists section
2. Find "ONBOARDING_CUSTOMER_DATA" or "ONBOARDING_INTENT_DATA"
3. Add/edit questions
4. Set OnboardingQuestionMetadata for field mappings
Via API:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Checklist Completion Rules
Automatic Validation: - ✅ ONBOARDING_INTENT_DATA: Required (must complete) - ⚠️ ONBOARDING_CUSTOMER_DATA: Optional (data from registry)
Manual Validation: - ✅ ONBOARDING_INTENT_DATA: Required (must complete) - ✅ ONBOARDING_CUSTOMER_DATA: Required (must complete)
Why the difference? - Automatic validation gets company data from registry API - Manual validation relies on user-provided data
Status States & Transitions
Verification Status
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Status Meanings:
| Status | Meaning | Next Steps |
|---|---|---|
PENDING |
Created, awaiting validation | Run automatic validation |
VERIFIED |
Successfully verified | Create customer |
FAILED |
Validation/review failed | Create justification or give up |
ESCALATED |
Manual review requested | Staff reviews justification |
EXPIRED |
Timed out without completion | Start over |
Justification Decision
1 2 | |
Customer Creation Rules
Customer can only be created when:
1. ✅ verification.status = VERIFIED
2. ✅ No customer exists for this verification
3. ✅ Automatic validation: Intent checklist completed
4. ✅ Manual validation: Both checklists completed
5. ✅ No duplicate registration_code exists
API Reference
Endpoints Overview
| Endpoint | Method | Purpose |
|---|---|---|
/api/onboarding/verifications/start_verification/ |
POST | Create verification |
/api/onboarding/verifications/{uuid}/run_validation/ |
POST | Run automatic validation |
/api/onboarding/verifications/{uuid}/checklist/ |
GET | Get checklist questions |
/api/onboarding/verifications/{uuid}/submit_answers/ |
POST | Submit checklist answers |
/api/onboarding/verifications/{uuid}/create_customer/ |
POST | Create customer |
/api/onboarding/verifications/available_checklists/ |
GET | Preview checklists |
/api/onboarding/justifications/create_justification/ |
POST | Request manual review |
/api/onboarding/justifications/{uuid}/review_justification/ |
POST | Staff review (approve/reject) |
/api/onboarding/justification-documentation/ |
POST | Upload documents |
/api/onboarding/validation-methods/ |
GET | List available validation methods |
/api/onboarding/person-identifier-fields/ |
GET | Get required fields per method |
Key API Examples
1. Start Verification (Automatic)
1 2 3 4 5 6 7 8 9 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 | |
2. Run Validation
1 2 3 4 5 6 | |
Success Response:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Failure Response:
1 2 3 4 5 6 | |
3. Get Checklist
1 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
4. Submit Answers
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
5. Create Justification
1 2 3 4 5 6 7 | |
Response:
1 2 3 4 5 6 7 8 | |
6. Upload Documentation
1 2 3 4 5 | |
7. Review Justification (Staff)
1 2 3 4 5 6 7 | |
Response:
1 2 3 4 5 6 7 8 9 10 | |
8. Create Customer
1 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Configuration
Settings (constance)
| Setting | Default | Description |
|---|---|---|
ONBOARDING_VERIFICATION_EXPIRY_HOURS |
- | Hours until verification expires |
ARIREGISTER_USERNAME |
- | Estonian Äriregister API username |
ARIREGISTER_PASSWORD |
- | Estonian Äriregister API password |
WIRTSCHAFTSCOMPASS_API_KEY |
- | Austrian API key |
BOLAGSVERKET_API_KEY |
- | Swedish API key |
BRREG_API_KEY |
- | Norwegian API key |
Backend Configuration
Each backend checks for required credentials:
1 2 3 4 5 6 7 | |
Background Tasks
Configured in Celery:
1 2 3 4 5 6 7 8 9 | |
Email Templates
Email notifications use these templates:
onboarding/justification_review_notification- Sent when staff approves/rejects
Template context:
1 2 3 4 5 6 7 | |
Troubleshooting
Common Issues
1. "No backend available for method X"
Problem: Validation method not supported or backend not registered.
Solution:
1 2 3 4 5 6 | |
2. "Configuration error: Missing API credentials"
Problem: Backend credentials not configured.
Solution:
1 2 3 | |
3. "Checklist has required fields that are not completed"
Problem: User trying to create customer without completing checklists.
Solution:
1 2 3 4 5 6 | |
4. "Customer with registration code X already exists"
Problem: Duplicate registration code.
Solution: - Verify if user should join existing customer instead - If legitimate new customer, use different registration code - If error, admin should investigate duplicate
5. Verification expired
Problem: User took too long (> 7 days by default).
Solution:
- User must start over with new verification
- Adjust ONBOARDING_VERIFICATION_EXPIRY_HOURS if needed
6. API timeout or unavailable
Problem: Business registry API is down or slow.
Solution: - Retry later (transient issue) - Fall back to manual validation - Check backend configuration (timeout settings)
Debugging
Enable detailed logging:
1 2 3 4 5 6 7 8 | |
Check verification state:
1 2 3 4 5 6 7 | |
Check backend response:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Performance Optimization
Database queries:
1 2 3 4 5 6 7 8 9 10 11 | |
API response caching:
1 2 3 4 | |
Events
Access_subnets
- access_subnet_creation_succeeded
- access_subnet_deletion_succeeded
- access_subnet_update_succeeded
Auth
- auth_logged_in_with_username
- auth_logged_out
- auth_login_failed_with_username
- token_created
- token_lifetime_updated
Call
- call_document_added
- call_document_removed
Credits
- allowed_offerings_have_been_updated
- automatic_credit_adjustment
- create_of_credit_by_staff
- reduction_of_customer_credit
- reduction_of_customer_credit_due_to_minimal_consumption
- reduction_of_customer_expected_consumption
- reduction_of_project_credit
- reduction_of_project_credit_due_to_minimal_consumption
- reduction_of_project_expected_consumption
- roll_back_customer_credit
- roll_back_project_credit
- set_to_zero_overdue_credit
- update_of_credit_by_staff
Customers
- allowed_offerings_have_been_updated
- automatic_credit_adjustment
- create_of_credit_by_staff
- customer_creation_succeeded
- customer_deletion_succeeded
- customer_permission_review_closed
- customer_permission_review_created
- customer_update_succeeded
- payment_added
- payment_removed
- reduction_of_customer_credit
- reduction_of_customer_credit_due_to_minimal_consumption
- reduction_of_customer_expected_consumption
- reduction_of_project_credit
- reduction_of_project_credit_due_to_minimal_consumption
- reduction_of_project_expected_consumption
- roll_back_customer_credit
- roll_back_project_credit
- set_to_zero_overdue_credit
- update_of_credit_by_staff
Invoices
- allowed_offerings_have_been_updated
- automatic_credit_adjustment
- create_of_credit_by_staff
- invoice_canceled
- invoice_created
- invoice_item_created
- invoice_item_deleted
- invoice_item_updated
- invoice_paid
- payment_created
- payment_removed
- reduction_of_customer_credit
- reduction_of_customer_credit_due_to_minimal_consumption
- reduction_of_customer_expected_consumption
- reduction_of_project_credit
- reduction_of_project_credit_due_to_minimal_consumption
- reduction_of_project_expected_consumption
- roll_back_customer_credit
- roll_back_project_credit
- set_to_zero_overdue_credit
- update_of_credit_by_staff
Offering_accounting
- marketplace_offering_component_created
- marketplace_offering_component_deleted
- marketplace_offering_component_updated
- marketplace_plan_archived
- marketplace_plan_component_current_price_updated
- marketplace_plan_component_future_price_updated
- marketplace_plan_component_quota_updated
- marketplace_plan_created
- marketplace_plan_deleted
- marketplace_plan_updated
Permissions
- role_granted
- role_revoked
- role_updated
Projects
- project_creation_succeeded
- project_deletion_succeeded
- project_deletion_triggered
- project_permission_review_closed
- project_permission_review_created
- project_update_request_approved
- project_update_request_created
- project_update_request_rejected
- project_update_succeeded
Proposal
- proposal_canceled
- proposal_document_added
- proposal_document_removed
Providers
- marketplace_resource_create_canceled
- marketplace_resource_create_failed
- marketplace_resource_create_requested
- marketplace_resource_create_succeeded
- marketplace_resource_terminate_failed
- marketplace_resource_terminate_requested
- marketplace_resource_terminate_succeeded
- marketplace_resource_update_failed
- marketplace_resource_update_limits_failed
- marketplace_resource_update_limits_succeeded
- marketplace_resource_update_requested
- resource_robot_account_created
- resource_robot_account_deleted
- resource_robot_account_state_changed
- resource_robot_account_updated
Resources
- marketplace_order_approved
- marketplace_order_completed
- marketplace_order_created
- marketplace_order_failed
- marketplace_order_rejected
- marketplace_order_terminated
- marketplace_order_unlinked
- marketplace_resource_create_canceled
- marketplace_resource_create_failed
- marketplace_resource_create_requested
- marketplace_resource_create_succeeded
- marketplace_resource_downscaled
- marketplace_resource_erred_on_backend
- marketplace_resource_paused
- marketplace_resource_terminate_canceled
- marketplace_resource_terminate_failed
- marketplace_resource_terminate_requested
- marketplace_resource_terminate_succeeded
- marketplace_resource_unlinked
- marketplace_resource_update_canceled
- marketplace_resource_update_end_date_succeeded
- marketplace_resource_update_failed
- marketplace_resource_update_limits_failed
- marketplace_resource_update_limits_succeeded
- marketplace_resource_update_requested
- marketplace_resource_update_succeeded
- openstack_floating_ip_attached
- openstack_floating_ip_connected
- openstack_floating_ip_description_updated
- openstack_floating_ip_detached
- openstack_floating_ip_disconnected
- openstack_network_cleaned
- openstack_network_created
- openstack_network_deleted
- openstack_network_imported
- openstack_network_pulled
- openstack_network_updated
- openstack_port_cleaned
- openstack_port_created
- openstack_port_deleted
- openstack_port_imported
- openstack_port_pulled
- openstack_port_updated
- openstack_router_updated
- openstack_security_group_cleaned
- openstack_security_group_created
- openstack_security_group_deleted
- openstack_security_group_imported
- openstack_security_group_pulled
- openstack_security_group_rule_cleaned
- openstack_security_group_rule_created
- openstack_security_group_rule_deleted
- openstack_security_group_rule_imported
- openstack_security_group_rule_updated
- openstack_security_group_updated
- openstack_server_group_cleaned
- openstack_server_group_created
- openstack_server_group_deleted
- openstack_server_group_imported
- openstack_server_group_pulled
- openstack_subnet_cleaned
- openstack_subnet_created
- openstack_subnet_deleted
- openstack_subnet_imported
- openstack_subnet_pulled
- openstack_subnet_updated
- openstack_tenant_quota_limit_updated
- resource_assign_floating_ip_failed
- resource_assign_floating_ip_scheduled
- resource_assign_floating_ip_succeeded
- resource_attach_failed
- resource_attach_scheduled
- resource_attach_succeeded
- resource_change_flavor_failed
- resource_change_flavor_scheduled
- resource_change_flavor_succeeded
- resource_creation_failed
- resource_creation_scheduled
- resource_creation_succeeded
- resource_deletion_failed
- resource_deletion_scheduled
- resource_deletion_succeeded
- resource_detach_failed
- resource_detach_scheduled
- resource_detach_succeeded
- resource_extend_failed
- resource_extend_scheduled
- resource_extend_succeeded
- resource_extend_volume_failed
- resource_extend_volume_scheduled
- resource_extend_volume_succeeded
- resource_import_succeeded
- resource_pull_failed
- resource_pull_scheduled
- resource_pull_succeeded
- resource_restart_failed
- resource_restart_scheduled
- resource_restart_succeeded
- resource_retype_failed
- resource_retype_scheduled
- resource_retype_succeeded
- resource_robot_account_created
- resource_robot_account_deleted
- resource_robot_account_state_changed
- resource_robot_account_updated
- resource_start_failed
- resource_start_scheduled
- resource_start_succeeded
- resource_stop_failed
- resource_stop_scheduled
- resource_stop_succeeded
- resource_unassign_floating_ip_failed
- resource_unassign_floating_ip_scheduled
- resource_unassign_floating_ip_succeeded
- resource_update_allowed_address_pairs_failed
- resource_update_allowed_address_pairs_scheduled
- resource_update_allowed_address_pairs_succeeded
- resource_update_floating_ips_failed
- resource_update_floating_ips_scheduled
- resource_update_floating_ips_succeeded
- resource_update_ports_failed
- resource_update_ports_scheduled
- resource_update_ports_succeeded
- resource_update_security_groups_failed
- resource_update_security_groups_scheduled
- resource_update_security_groups_succeeded
- resource_update_succeeded
Review
- review_canceled
Ssh
- ssh_key_creation_succeeded
- ssh_key_deletion_succeeded
Support
- attachment_created
- attachment_deleted
- attachment_updated
- issue_creation_succeeded
- issue_deletion_succeeded
- issue_update_succeeded
Terms_of_service
- terms_of_service_consent_granted
- terms_of_service_consent_revoked
Users
- auth_logged_in_with_saml2
- auth_logged_out_with_saml2
- freeipa_profile_created
- freeipa_profile_deleted
- freeipa_profile_disabled
- freeipa_profile_enabled
- marketplace_offering_user_created
- marketplace_offering_user_deleted
- marketplace_offering_user_restriction_updated
- ssh_key_creation_succeeded
- ssh_key_deletion_succeeded
- user_activated
- user_creation_succeeded
- user_data_accessed
- user_deactivated
- user_deletion_succeeded
- user_details_update_succeeded
- user_has_been_created_by_staff
- user_invitation_deleted
- user_invitation_updated
- user_password_updated
- user_password_updated_by_staff
- user_update_succeeded
Registered Handlers
This document lists all registered signal handlers found in the system.
Application: waldur_auth_saml2
| Handler Name | Signal Type | Sender | Description |
|---|---|---|---|
update_registration_method |
Unknown Signal |
core.User |
Update user's registration method to SAML2. |
Application: waldur_autoprovisioning
| Handler Name | Signal Type | Sender | Description |
|---|---|---|---|
handle_new_user |
Django Signal (post_save) |
core.User |
Create project and order for new user based on autoprovisioning rules. |
Application: waldur_core
| Handler Name | Signal Type | Sender | Description |
|---|---|---|---|
change_email_has_been_requested |
Django Signal (post_save) |
core.ChangeEmailRequest |
Send a notification when a user requests to change their email. |
change_users_quota |
Custom Signal (role_granted) |
— |
Update the user count quota for a customer when a user's role is changed. |
change_users_quota |
Custom Signal (role_revoked) |
— |
Update the user count quota for a customer when a user's role is changed. |
cleanup_rabbitmq_queue_on_delete |
Django Signal (pre_delete) |
logging.EventSubscriptionQueue |
Delete the corresponding RabbitMQ queue when an EventSubscriptionQueue record is deleted. |
constance_updated |
Custom Signal (config_updated) |
— |
Clear the API configuration cache when a Constance setting is updated. |
create_auth_token |
Django Signal (post_save) |
core.User |
Create a token for a new user. |
create_existing_projects_completions |
Django Signal (post_save) |
structure.Customer |
Create ChecklistCompletion for existing projects when customer checklist is updated. |
create_notification_about_permission_request_has_been_submitted |
Django Signal (post_save) |
users.PermissionRequest |
Send a notification when a permission request has been submitted. |
create_project_metadata_completion |
Django Signal (post_save) |
structure.Project |
Create ChecklistCompletion for project metadata when a project is created. |
deactivate_user_if_no_roles |
Custom Signal (role_revoked) |
— |
Deactivate a user if they no longer have any active roles. |
delete_error_message |
Custom Signal (post_transition) |
structure.ServiceSettings |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
structure.SharedServiceSettings |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
structure.PrivateServiceSettings |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_aws.Instance |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_aws.Volume |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_azure.ResourceGroup |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_azure.StorageAccount |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_azure.Network |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_azure.SubNet |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_azure.SecurityGroup |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_azure.NetworkInterface |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_azure.PublicIP |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_azure.VirtualMachine |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_azure.SQLServer |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_azure.SQLDatabase |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_digitalocean.Droplet |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
google.GoogleCalendar |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_openportal.Allocation |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_openportal.RemoteAllocation |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
openstack.Tenant |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
openstack.ServerGroup |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
openstack.SecurityGroup |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
openstack.FloatingIP |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
openstack.Router |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
openstack.Network |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
openstack.SubNet |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
openstack.Port |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
openstack.Volume |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
openstack.Snapshot |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
openstack.Instance |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
openstack.Backup |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_openstack_replication.Migration |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_rancher.Cluster |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_rancher.Node |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_rancher.HPA |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_rancher.Application |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_rancher.Ingress |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_rancher.Service |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_slurm.Allocation |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_vmware.VirtualMachine |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_vmware.Port |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_vmware.Disk |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
waldur_firecrest.Job |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
support.Issue |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
support.Comment |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
support.Attachment |
Delete error message if instance state changed from erred |
delete_error_message |
Custom Signal (post_transition) |
support.Feedback |
Delete error message if instance state changed from erred |
delete_project_metadata_completions |
Django Signal (post_save) |
structure.Customer |
Delete ChecklistCompletions when customer's project metadata checklist is removed. |
delete_quotas_when_model_is_deleted |
Django Signal (pre_delete) |
structure.Customer |
Delete all quotas related to a model when it is deleted. |
delete_quotas_when_model_is_deleted |
Django Signal (pre_delete) |
structure.Project |
Delete all quotas related to a model when it is deleted. |
delete_quotas_when_model_is_deleted |
Django Signal (pre_delete) |
structure.ServiceSettings |
Delete all quotas related to a model when it is deleted. |
delete_quotas_when_model_is_deleted |
Django Signal (pre_delete) |
structure.SharedServiceSettings |
Delete all quotas related to a model when it is deleted. |
delete_quotas_when_model_is_deleted |
Django Signal (pre_delete) |
structure.PrivateServiceSettings |
Delete all quotas related to a model when it is deleted. |
delete_quotas_when_model_is_deleted |
Django Signal (pre_delete) |
openstack.Tenant |
Delete all quotas related to a model when it is deleted. |
delete_quotas_when_model_is_deleted |
Django Signal (pre_delete) |
marketplace.Category |
Delete all quotas related to a model when it is deleted. |
delete_quotas_when_model_is_deleted |
Django Signal (pre_delete) |
marketplace.Offering |
Delete all quotas related to a model when it is deleted. |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_aws.Instance |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_aws.Volume |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_azure.ResourceGroup |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_azure.StorageAccount |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_azure.Network |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_azure.SubNet |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_azure.SecurityGroup |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_azure.NetworkInterface |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_azure.PublicIP |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_azure.VirtualMachine |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_azure.SQLServer |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_azure.SQLDatabase |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_digitalocean.Droplet |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_openportal.Allocation |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_openportal.RemoteAllocation |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
openstack.Tenant |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
openstack.ServerGroup |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
openstack.SecurityGroup |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
openstack.FloatingIP |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
openstack.Router |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
openstack.Network |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
openstack.SubNet |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
openstack.Port |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
openstack.Volume |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
openstack.Snapshot |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
openstack.Instance |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
openstack.Backup |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_rancher.Cluster |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_rancher.Application |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_rancher.Ingress |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_rancher.Service |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_slurm.Allocation |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_vmware.VirtualMachine |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_vmware.Port |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_vmware.Disk |
If VM that contains service settings were deleted - all settings |
delete_service_settings_on_scope_delete |
Django Signal (pre_delete) |
waldur_firecrest.Job |
If VM that contains service settings were deleted - all settings |
delete_stale_event_subscriptions |
Django Signal (post_delete) |
authtoken.Token |
Delete stale event subscriptions for a user when their token is deleted. |
handle_aggregated_quotas |
Django Signal (post_save) |
quotas.QuotaUsage |
Call aggregated quotas fields update methods |
handle_aggregated_quotas |
Django Signal (pre_delete) |
quotas.QuotaUsage |
Call aggregated quotas fields update methods |
log_access_subnet_deletion_succeeded |
Django Signal (post_delete) |
structure.AccessSubnet |
Log successful access subnet deletion. |
log_access_subnet_save |
Django Signal (post_save) |
structure.AccessSubnet |
Log access subnet creation and updates. |
log_customer_delete |
Django Signal (post_delete) |
structure.Customer |
Log customer deletion. |
log_customer_save |
Django Signal (post_save) |
structure.Customer |
Log customer creation and updates. |
log_project_delete |
Django Signal (post_delete) |
structure.Project |
Log project deletion. |
log_project_save |
Django Signal (post_save) |
structure.Project |
Log project creation and updates. |
log_resource_action |
Custom Signal (post_transition) |
waldur_aws.Instance |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_aws.Volume |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_azure.ResourceGroup |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_azure.StorageAccount |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_azure.Network |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_azure.SubNet |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_azure.SecurityGroup |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_azure.NetworkInterface |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_azure.PublicIP |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_azure.VirtualMachine |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_azure.SQLServer |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_azure.SQLDatabase |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_digitalocean.Droplet |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_openportal.Allocation |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_openportal.RemoteAllocation |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
openstack.Tenant |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
openstack.ServerGroup |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
openstack.SecurityGroup |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
openstack.FloatingIP |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
openstack.Router |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
openstack.Network |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
openstack.SubNet |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
openstack.Port |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
openstack.Volume |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
openstack.Snapshot |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
openstack.Instance |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
openstack.Backup |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_rancher.Cluster |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_rancher.Application |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_rancher.Ingress |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_rancher.Service |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_slurm.Allocation |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_vmware.VirtualMachine |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_vmware.Port |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_vmware.Disk |
Log resource state transitions. |
log_resource_action |
Custom Signal (post_transition) |
waldur_firecrest.Job |
Log resource state transitions. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_aws.Instance |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_aws.Volume |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_azure.ResourceGroup |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_azure.StorageAccount |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_azure.Network |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_azure.SubNet |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_azure.SecurityGroup |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_azure.NetworkInterface |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_azure.PublicIP |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_azure.VirtualMachine |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_azure.SQLServer |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_azure.SQLDatabase |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_digitalocean.Droplet |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_openportal.Allocation |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_openportal.RemoteAllocation |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
openstack.Tenant |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
openstack.ServerGroup |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
openstack.SecurityGroup |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
openstack.FloatingIP |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
openstack.Router |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
openstack.Network |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
openstack.SubNet |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
openstack.Port |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
openstack.Volume |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
openstack.Snapshot |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
openstack.Instance |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
openstack.Backup |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_rancher.Cluster |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_rancher.Application |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_rancher.Ingress |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_rancher.Service |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_slurm.Allocation |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_vmware.VirtualMachine |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_vmware.Port |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_vmware.Disk |
Log scheduled resource creation. |
log_resource_creation_scheduled |
Django Signal (post_save) |
waldur_firecrest.Job |
Log scheduled resource creation. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_aws.Instance |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_aws.Volume |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_azure.ResourceGroup |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_azure.StorageAccount |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_azure.Network |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_azure.SubNet |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_azure.SecurityGroup |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_azure.NetworkInterface |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_azure.PublicIP |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_azure.VirtualMachine |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_azure.SQLServer |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_azure.SQLDatabase |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_digitalocean.Droplet |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_openportal.Allocation |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_openportal.RemoteAllocation |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
openstack.Tenant |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
openstack.ServerGroup |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
openstack.SecurityGroup |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
openstack.FloatingIP |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
openstack.Router |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
openstack.Network |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
openstack.SubNet |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
openstack.Port |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
openstack.Volume |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
openstack.Snapshot |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
openstack.Instance |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
openstack.Backup |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_rancher.Cluster |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_rancher.Application |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_rancher.Ingress |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_rancher.Service |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_slurm.Allocation |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_vmware.VirtualMachine |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_vmware.Port |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_vmware.Disk |
Log resource deletion. |
log_resource_deleted |
Django Signal (pre_delete) |
waldur_firecrest.Job |
Log resource deletion. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_aws.Instance |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_aws.Volume |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_azure.ResourceGroup |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_azure.StorageAccount |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_azure.Network |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_azure.SubNet |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_azure.SecurityGroup |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_azure.NetworkInterface |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_azure.PublicIP |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_azure.VirtualMachine |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_azure.SQLServer |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_azure.SQLDatabase |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_digitalocean.Droplet |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_openportal.Allocation |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_openportal.RemoteAllocation |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
openstack.Tenant |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
openstack.ServerGroup |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
openstack.SecurityGroup |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
openstack.FloatingIP |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
openstack.Router |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
openstack.Network |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
openstack.SubNet |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
openstack.Port |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
openstack.Volume |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
openstack.Snapshot |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
openstack.Instance |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
openstack.Backup |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_rancher.Cluster |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_rancher.Application |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_rancher.Ingress |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_rancher.Service |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_slurm.Allocation |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_vmware.VirtualMachine |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_vmware.Port |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_vmware.Disk |
Log resource import. |
log_resource_imported |
Custom Signal (resource_imported) |
waldur_firecrest.Job |
Log resource import. |
log_role_granted |
Custom Signal (role_granted) |
— |
Log the event of a user being granted a role. |
log_role_revoked |
Custom Signal (role_revoked) |
— |
Log the event of a user having a role revoked. |
log_role_updated |
Custom Signal (role_updated) |
— |
Log the event of a user's role being updated. |
log_ssh_key_delete |
Django Signal (post_delete) |
core.SshPublicKey |
Log SSH key deletion events. |
log_ssh_key_save |
Django Signal (post_save) |
core.SshPublicKey |
Log SSH key creation events. |
log_token_create |
Django Signal (post_save) |
authtoken.Token |
Log token creation events. |
log_user_delete |
Django Signal (post_delete) |
core.User |
Log user deletion events. |
log_user_save |
Django Signal (post_save) |
core.User |
Log user creation, update, and activation/deactivation events. |
permissions_request_approved |
Custom Signal (permissions_request_approved) |
users.PermissionRequest |
Send a notification when a permission request has been approved. |
preserve_fields_before_update |
Django Signal (pre_save) |
core.User |
Preserve fields of a user instance before it is updated. |
process_hook |
Django Signal (post_save) |
logging.Event |
Process a hook for a given event. |
projects_customer_has_been_changed |
Custom Signal (project_moved) |
structure.Project |
Recalculate quotas when a project's customer has been changed. |
reactivate_user_if_gaining_roles |
Custom Signal (role_granted) |
— |
Reactivate a user if they were previously deactivated and are now gaining roles. |
recalculate_count_quota |
Django Signal (post_save) |
structure.Project |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_aws.Instance |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_aws.Volume |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_azure.ResourceGroup |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_azure.StorageAccount |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_azure.Network |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_azure.SubNet |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_azure.SecurityGroup |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_azure.NetworkInterface |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_azure.PublicIP |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_azure.VirtualMachine |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_azure.SQLServer |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_azure.SQLDatabase |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_digitalocean.Droplet |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_openportal.Allocation |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_openportal.RemoteAllocation |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
openstack.Tenant |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
openstack.ServerGroup |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
openstack.SecurityGroup |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
openstack.FloatingIP |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
openstack.Router |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
openstack.Network |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
openstack.SubNet |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
openstack.Port |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
openstack.Volume |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
openstack.Snapshot |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
openstack.Instance |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
openstack.Backup |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_rancher.Cluster |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_rancher.Application |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_rancher.Ingress |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_rancher.Service |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_slurm.Allocation |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_vmware.VirtualMachine |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_vmware.Port |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_vmware.Disk |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
waldur_firecrest.Job |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_save) |
marketplace.Order |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
structure.Project |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_aws.Instance |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_aws.Volume |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_azure.ResourceGroup |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_azure.StorageAccount |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_azure.Network |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_azure.SubNet |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_azure.SecurityGroup |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_azure.NetworkInterface |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_azure.PublicIP |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_azure.VirtualMachine |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_azure.SQLServer |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_azure.SQLDatabase |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_digitalocean.Droplet |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_openportal.Allocation |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_openportal.RemoteAllocation |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
openstack.Tenant |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
openstack.ServerGroup |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
openstack.SecurityGroup |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
openstack.FloatingIP |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
openstack.Router |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
openstack.Network |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
openstack.SubNet |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
openstack.Port |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
openstack.Volume |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
openstack.Snapshot |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
openstack.Instance |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
openstack.Backup |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_rancher.Cluster |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_rancher.Application |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_rancher.Ingress |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_rancher.Service |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_slurm.Allocation |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_vmware.VirtualMachine |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_vmware.Port |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_vmware.Disk |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
waldur_firecrest.Job |
Recalculate count quota when an instance is created or deleted. |
recalculate_count_quota |
Django Signal (post_delete) |
marketplace.Order |
Recalculate count quota when an instance is created or deleted. |
revoke_roles_on_project_deletion |
Django Signal (pre_delete) |
structure.Project |
When project is deleted, capture user role snapshots before revoking them. |
schedule_cleanup_for_deleted_object |
Django Signal (post_delete) |
marketplace.Order |
Signal handler to schedule cleanup of user actions for a deleted object. |
schedule_cleanup_for_deleted_object |
Django Signal (post_delete) |
marketplace.Offering |
Signal handler to schedule cleanup of user actions for a deleted object. |
schedule_cleanup_for_deleted_object |
Django Signal (post_delete) |
marketplace.Resource |
Signal handler to schedule cleanup of user actions for a deleted object. |
schedule_cleanup_for_deleted_object |
Django Signal (post_delete) |
marketplace.OfferingUser |
Signal handler to schedule cleanup of user actions for a deleted object. |
set_default_token_lifetime |
Django Signal (post_save) |
core.User |
Set the default token lifetime for a new user. |
update_customer_users_count |
Custom Signal (recalculate_quotas) |
— |
Update the user count for all customers. |
update_resource_start_time |
Django Signal (post_save) |
waldur_aws.Instance |
Update the start time of a resource when its runtime state changes. |
update_resource_start_time |
Django Signal (post_save) |
waldur_azure.VirtualMachine |
Update the start time of a resource when its runtime state changes. |
update_resource_start_time |
Django Signal (post_save) |
waldur_digitalocean.Droplet |
Update the start time of a resource when its runtime state changes. |
update_resource_start_time |
Django Signal (post_save) |
openstack.Instance |
Update the start time of a resource when its runtime state changes. |
Application: waldur_freeipa
| Handler Name | Signal Type | Sender | Description |
|---|---|---|---|
log_profile_deleted |
Django Signal (pre_delete) |
waldur_freeipa.Profile |
Log FreeIPA profile deletion events. |
log_profile_event |
Django Signal (pre_save) |
waldur_freeipa.Profile |
Log FreeIPA profile creation, enable, and disable events. |
schedule_ssh_key_sync_when_key_is_created |
Django Signal (post_save) |
core.SshPublicKey |
Schedule an SSH key synchronization task when a key is created. |
schedule_ssh_key_sync_when_key_is_deleted |
Django Signal (pre_delete) |
core.SshPublicKey |
Schedule an SSH key synchronization task when a key is deleted. |
schedule_sync |
Django Signal (post_save) |
structure.Customer |
Schedule a synchronization task. |
schedule_sync |
Django Signal (post_save) |
structure.Project |
Schedule a synchronization task. |
schedule_sync |
Django Signal (pre_delete) |
structure.Customer |
Schedule a synchronization task. |
schedule_sync |
Django Signal (pre_delete) |
structure.Project |
Schedule a synchronization task. |
schedule_sync |
Custom Signal (role_granted) |
— |
Schedule a synchronization task. |
schedule_sync |
Custom Signal (role_revoked) |
— |
Schedule a synchronization task. |
schedule_sync_on_quota_change |
Django Signal (post_save) |
quotas.QuotaLimit |
Schedule a synchronization task when a quota is changed. |
update_user |
Django Signal (post_save) |
core.User |
Update a user's FreeIPA profile when their user account is updated. |
Application: waldur_lexis
| Handler Name | Signal Type | Sender | Description |
|---|---|---|---|
request_ssh_key_for_heappe_robot_account |
Django Signal (post_save) |
marketplace.RobotAccount |
Request an SSH key for a HEAppE robot account. |
Application: waldur_mastermind
| Handler Name | Signal Type | Sender | Description |
|---|---|---|---|
add_call_managing_organization_uuid |
Custom Signal (pre_serializer_fields) |
CustomerSerializer |
Add a call managing organization UUID field to the serializer. |
add_customer_credit |
Custom Signal (pre_serializer_fields) |
CustomerSerializer |
Add a customer credit field to the serializer. |
add_customer_unallocated_credit |
Custom Signal (pre_serializer_fields) |
CustomerSerializer |
Add a customer unallocated credit field to the serializer. |
add_google_calendar_info |
Custom Signal (pre_serializer_fields) |
ProviderOfferingDetailsSerializer |
Add a Google Calendar info field to the serializer. |
add_google_calendar_info |
Custom Signal (pre_serializer_fields) |
PublicOfferingDetailsSerializer |
Add a Google Calendar info field to the serializer. |
add_google_calendar_link |
Custom Signal (pre_serializer_fields) |
ProviderOfferingDetailsSerializer |
Add a Google Calendar link field to the serializer. |
add_google_calendar_link |
Custom Signal (pre_serializer_fields) |
PublicOfferingDetailsSerializer |
Add a Google Calendar link field to the serializer. |
add_integration_status |
Custom Signal (pre_serializer_fields) |
ProviderOfferingDetailsSerializer |
Add an integration status field to the serializer. |
add_issue |
Custom Signal (pre_serializer_fields) |
OrderDetailsSerializer |
Add an issue field to the serializer. |
add_maintenance_fields_to_admin_announcement_serializer |
Custom Signal (pre_serializer_fields) |
AdminAnnouncementSerializer |
Add maintenance-related fields to AdminAnnouncementSerializer when maintenance is scheduled. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackFloatingIPSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackSecurityGroupSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackServerGroupSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackPortSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackNetworkSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackSubNetSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackSnapshotSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackBackupSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
AwsInstanceSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
AzureVirtualMachineSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
DigitalOceanDropletSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackInstanceCreateSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackInstanceSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
AwsVolumeSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
AzureResourceGroupSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
AzureSqlServerSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
AzurePublicIPSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
AzureSqlDatabaseSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
AllocationSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
RemoteAllocationSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackTenantSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackRouterSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
OpenStackVolumeSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
RancherClusterCreateSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
RancherClusterSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
RancherApplicationSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
RancherIngressSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
RancherServiceCreateSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
RancherServiceSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
SlurmAllocationSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
VmwareVirtualMachineSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
VmwarePortSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_offering |
Custom Signal (pre_serializer_fields) |
VmwareDiskSerializer |
Add marketplace offering related fields to the serializer. |
add_marketplace_resource_count |
Custom Signal (pre_serializer_fields) |
ProjectSerializer |
Add a marketplace resource count field to the serializer. |
add_marketplace_resource_uuid |
Custom Signal (pre_serializer_fields) |
OpenStackNestedVolumeSerializer |
Add a marketplace resource UUID field to the serializer. |
add_payment_profile |
Custom Signal (pre_serializer_fields) |
CustomerSerializer |
Add a payment profile field to the serializer. |
add_price_estimate |
Custom Signal (pre_serializer_fields) |
ProjectSerializer |
Add a billing price estimate field to the serializer. |
add_price_estimate |
Custom Signal (pre_serializer_fields) |
ProjectEstimatedCostPolicySerializer |
Add a billing price estimate field to the serializer. |
add_price_estimate |
Custom Signal (pre_serializer_fields) |
CustomerSerializer |
Add a billing price estimate field to the serializer. |
add_price_estimate |
Custom Signal (pre_serializer_fields) |
CustomerEstimatedCostPolicySerializer |
Add a billing price estimate field to the serializer. |
add_project_credit |
Custom Signal (pre_serializer_fields) |
ProjectSerializer |
Add a project credit field to the serializer. |
add_promotion_campaigns |
Custom Signal (pre_serializer_fields) |
PublicOfferingDetailsSerializer |
Add promotion campaigns to the serializer. |
add_router_external_ips |
Custom Signal (pre_serializer_fields) |
OpenStackRouterSerializer |
Add router external IPs to the serializer. |
add_service_provider |
Custom Signal (pre_serializer_fields) |
CustomerSerializer |
Add a service provider field to the serializer. |
add_service_provider_url |
Custom Signal (pre_serializer_fields) |
CustomerSerializer |
Add a service provider URL field to the serializer. |
add_service_provider_uuid |
Custom Signal (pre_serializer_fields) |
CustomerSerializer |
Add a service provider UUID field to the serializer. |
apply_campaign_to_pending_invoices |
Django Signal (post_save) |
promotions.Campaign |
Apply campaign discounts to pending invoices and create discounted resources. |
archive_offering |
Django Signal (pre_delete) |
openstack.Tenant |
Archive marketplace offerings when OpenStack tenant is deleted. |
change_order_state |
Django Signal (post_save) |
waldur_azure.VirtualMachine |
Change the state of an order based on resource state changes. |
change_order_state |
Django Signal (post_save) |
waldur_azure.SQLServer |
Change the state of an order based on resource state changes. |
change_order_state |
Django Signal (post_save) |
waldur_azure.SQLDatabase |
Change the state of an order based on resource state changes. |
change_order_state |
Django Signal (post_save) |
waldur_openportal.Allocation |
Change the state of an order based on resource state changes. |
change_order_state |
Django Signal (post_save) |
waldur_openportal.RemoteAllocation |
Change the state of an order based on resource state changes. |
change_order_state |
Django Signal (post_save) |
openstack.Instance |
Change the state of an order based on resource state changes. |
change_order_state |
Django Signal (post_save) |
openstack.Volume |
Change the state of an order based on resource state changes. |
change_order_state |
Django Signal (post_save) |
openstack.Tenant |
Change the state of an order based on resource state changes. |
change_order_state |
Django Signal (post_save) |
waldur_rancher.Cluster |
Change the state of an order based on resource state changes. |
change_order_state |
Django Signal (post_save) |
waldur_slurm.Allocation |
Change the state of an order based on resource state changes. |
change_order_state |
Django Signal (post_save) |
waldur_vmware.VirtualMachine |
Change the state of an order based on resource state changes. |
cleanup_admin_announcement_on_maintenance_deletion |
Django Signal (pre_delete) |
marketplace.MaintenanceAnnouncement |
Ensure AdminAnnouncement is cleaned up when MaintenanceAnnouncement is deleted. |
close_course_accounts_after_project_removal |
Django Signal (pre_delete) |
structure.Project |
No description |
close_customer_service_accounts_on_customer_deletion |
Django Signal (pre_delete) |
structure.Customer |
Close service accounts associated with a customer when the customer is deleted. |
close_resource_plan_period_when_resource_is_terminated |
Django Signal (post_save) |
marketplace.Resource |
Handle case when resource has been terminated by service provider. |
close_service_accounts_on_project_deletion |
Django Signal (pre_delete) |
structure.Project |
Close service accounts associated with a project when the project is deleted. |
create_checklist_completion |
Django Signal (post_save) |
proposal.Proposal |
Create checklist completion tracking when proposal is created. |
create_checklist_completions_for_existing_users |
Django Signal (post_save) |
marketplace.Offering |
Manage checklist completions for existing OfferingUsers when compliance changes. |
create_feedback_if_issue_has_been_resolved |
Django Signal (post_save) |
support.Issue |
Create feedback request when support issue transitions to resolved state. |
create_issue_if_membership_changed |
Django Signal (post_save) |
permissions.UserRole |
Create support issue when user role membership changes in organization. |
create_marketplace_resource_for_imported_cluster |
Custom Signal (resource_imported) |
waldur_rancher.Cluster |
Create marketplace resource when Rancher cluster is imported from external system. |
create_marketplace_resource_for_imported_resources |
Custom Signal (resource_imported) |
waldur_azure.VirtualMachine |
No description |
create_marketplace_resource_for_imported_resources |
Custom Signal (resource_imported) |
openstack.Instance |
No description |
create_marketplace_resource_for_imported_resources |
Custom Signal (resource_imported) |
openstack.Volume |
No description |
create_marketplace_resource_for_imported_resources |
Custom Signal (resource_imported) |
openstack.Tenant |
No description |
create_offering_component_for_volume_type |
Django Signal (post_save) |
openstack.VolumeType |
Create marketplace offering component when OpenStack volume type is created. |
create_offering_from_tenant |
Django Signal (post_save) |
openstack.Tenant |
No description |
create_offering_user_checklist_completions |
Django Signal (post_save) |
marketplace.OfferingUser |
Create checklist completions for OfferingUser when created. |
create_offering_user_for_new_resource |
Custom Signal (resource_creation_succeeded) |
marketplace.Resource |
Create an offering user for a new resource. |
create_offering_user_for_openportal_remote_user |
Custom Signal (openportal_remote_association_created) |
waldur_openportal.RemoteAllocation |
No description |
create_offering_user_for_openportal_user |
Custom Signal (openportal_association_created) |
waldur_openportal.Allocation |
No description |
create_offering_user_for_rancher_user |
Django Signal (post_save) |
waldur_rancher.RancherUser |
No description |
create_offering_user_for_slurm_user |
Custom Signal (slurm_association_created) |
waldur_slurm.Allocation |
No description |
create_offering_users_when_project_role_granted |
Custom Signal (role_granted) |
— |
Schedule task to create or restore offering users when project role is granted. |
create_price_estimate |
Django Signal (post_save) |
structure.Project |
Create price estimate when customer or project is created. |
create_price_estimate |
Django Signal (post_save) |
structure.Customer |
Create price estimate when customer or project is created. |
create_public_cluster_ip_for_floating_ip |
Django Signal (post_save) |
openstack.FloatingIP |
No description |
create_recurring_usage_if_invoice_has_been_created |
Django Signal (post_save) |
invoices.Invoice |
No description |
create_request_when_project_is_updated |
Django Signal (post_save) |
structure.Project |
No description |
create_resource_of_volume_if_instance_created |
Django Signal (post_save) |
marketplace.Resource |
No description |
create_resource_plan_period_when_resource_is_created |
Django Signal (post_save) |
marketplace.Resource |
Create a resource plan period when a resource is created. |
create_screenshot_thumbnail |
Django Signal (post_save) |
marketplace.Screenshot |
Create a thumbnail for a screenshot. |
customer_component_usage_policy_trigger_handler |
Django Signal (post_save) |
marketplace.ComponentUsage |
Evaluate customer component usage policies when component usage records change. |
customer_credit_changed_handler |
Django Signal (post_save) |
invoices.CustomerCredit |
Handle customer credit value changes and evaluate related policies. |
customer_credit_offerings_list_changed_handler |
Django Signal (m2m_changed) |
CustomerCredit_offerings |
No description |
customer_estimated_cost_policy_trigger_handler |
Django Signal (post_save) |
invoices.InvoiceItem |
Evaluate customer cost policies when invoice items are updated. |
delete_checklist_completion |
Django Signal (pre_delete) |
proposal.Proposal |
Remove checklist completion tracking when proposal is deleted. |
delete_expired_project_if_every_resource_has_been_terminated |
Django Signal (post_save) |
marketplace.Resource |
Delete an expired project if all its resources have been terminated. |
delete_offering_component_for_volume_type |
Django Signal (post_delete) |
openstack.VolumeType |
No description |
delete_offering_user_checklist_completions |
Django Signal (pre_delete) |
marketplace.OfferingUser |
Delete related checklist completions when OfferingUser is deleted. |
delete_remote_project |
Django Signal (post_delete) |
structure.Project |
No description |
delete_service_setting_when_offering_is_deleted |
Django Signal (post_delete) |
marketplace.Offering |
Delete service settings when an offering is deleted. |
delete_stale_price_estimate |
Django Signal (pre_delete) |
structure.Project |
Delete price estimates when customer or project is deleted. |
delete_stale_price_estimate |
Django Signal (pre_delete) |
structure.Customer |
Delete price estimates when customer or project is deleted. |
disable_archived_service_settings_without_existing_resource |
Django Signal (post_save) |
marketplace.Resource |
Disable archived service settings if there are no existing resources. |
disable_service_settings_without_existing_resource_when_archived |
Django Signal (post_save) |
marketplace.Offering |
Disable service settings without existing resources when an offering is archived. |
drop_offering_user_for_openportal_remote_user |
Custom Signal (openportal_remote_association_deleted) |
waldur_openportal.RemoteAllocation |
No description |
drop_offering_user_for_openportal_user |
Custom Signal (openportal_association_deleted) |
waldur_openportal.Allocation |
No description |
drop_offering_user_for_rancher_user |
Django Signal (pre_delete) |
waldur_rancher.RancherUser |
No description |
drop_offering_user_for_slurm_user |
Custom Signal (slurm_association_deleted) |
waldur_slurm.Allocation |
No description |
emit_invoice_created_event |
Django Signal (post_save) |
invoices.Invoice |
Emit invoice created signal when invoice state changes to CREATED. |
enable_service_settings_when_not_archived |
Django Signal (post_save) |
marketplace.Offering |
Enable service settings when an offering is not archived. |
enable_service_settings_with_existing_resource |
Django Signal (post_save) |
marketplace.Resource |
Enable service settings if there are existing resources. |
handle_openstack_tenant_order_creation |
Django Signal (post_save) |
marketplace.Order |
No description |
handle_openstack_tenant_order_termination |
Django Signal (post_save) |
marketplace.Order |
No description |
handle_user_role_revoked |
Custom Signal (role_revoked) |
— |
Handle user role revocation by removing users from robot accounts |
handler |
Django Signal (post_save) |
marketplace.Resource |
No description |
handler |
Django Signal (post_save) |
invoices.InvoiceItem |
No description |
handler |
Django Signal (post_save) |
marketplace.ComponentUsage |
No description |
import_instances_and_volumes_if_tenant_has_been_imported |
Custom Signal (resource_imported) |
openstack.Tenant |
No description |
import_instances_and_volumes_if_tenant_has_been_imported |
Custom Signal (tenant_pull_succeeded) |
openstack.Tenant |
No description |
import_resource_metadata_when_resource_is_created |
Django Signal (post_save) |
marketplace.Resource |
Import OpenStack resource metadata when marketplace resource is created. |
init_resource_parent |
Django Signal (post_save) |
marketplace.Resource |
Initialize the parent resource for a newly created resource. |
limit_update_failed |
Custom Signal (resource_limit_update_failed) |
marketplace.Resource |
Handle failed limit updates. |
limit_update_succeeded |
Custom Signal (resource_limit_update_succeeded) |
marketplace.Resource |
Handle successful limit updates. |
log_attachment_delete |
Django Signal (post_delete) |
support.Attachment |
No description |
log_attachment_save |
Django Signal (post_save) |
support.Attachment |
No description |
log_credit |
Django Signal (post_save) |
invoices.CustomerCredit |
No description |
log_invoice_item_delete |
Django Signal (post_delete) |
invoices.InvoiceItem |
No description |
log_invoice_item_save |
Django Signal (post_save) |
invoices.InvoiceItem |
No description |
log_invoice_state_transition |
Django Signal (post_save) |
invoices.Invoice |
No description |
log_issue_delete |
Django Signal (post_delete) |
support.Issue |
No description |
log_issue_save |
Django Signal (post_save) |
support.Issue |
No description |
log_offering_role_created_or_updated |
Django Signal (post_save) |
marketplace.OfferingUserRole |
Log offering role creation and updates. |
log_offering_role_deleted |
Django Signal (post_delete) |
marketplace.OfferingUserRole |
Log offering role deletion. |
log_offering_user_created |
Django Signal (post_save) |
marketplace.OfferingUser |
Log offering user creation. |
log_offering_user_deleted |
Django Signal (post_delete) |
marketplace.OfferingUser |
Log offering user deletion. |
log_order_events |
Django Signal (post_save) |
marketplace.Order |
Log order creation and state transition events. |
log_request_events |
Django Signal (post_save) |
marketplace_remote.ProjectUpdateRequest |
No description |
log_resource_events |
Django Signal (post_save) |
marketplace.Resource |
Log resource creation request events. |
log_resource_robot_account_created_or_updated |
Django Signal (post_save) |
marketplace.RobotAccount |
Log resource robot account creation and updates. |
log_resource_robot_account_deleted |
Django Signal (post_delete) |
marketplace.RobotAccount |
Log resource robot account deletion. |
log_resource_user_created |
Django Signal (post_save) |
marketplace.ResourceUser |
Log resource user creation. |
log_resource_user_deleted |
Django Signal (post_delete) |
marketplace.ResourceUser |
Log resource user deletion. |
log_service_account_created_or_updated |
Django Signal (post_save) |
ScopedServiceAccount |
Log service account creation and updates. |
log_service_account_deleted |
Django Signal (post_delete) |
ScopedServiceAccount |
Log service account deletion. |
log_terms_of_service_consent_granted |
Django Signal (post_save) |
marketplace.UserOfferingConsent |
Log when a user grants consent to Terms of Service. |
log_terms_of_service_consent_revoked |
Django Signal (post_save) |
marketplace.UserOfferingConsent |
Log when a user revokes consent to Terms of Service. |
manage_maintenance_admin_announcements |
Django Signal (post_save) |
marketplace.MaintenanceAnnouncement |
Manage AdminAnnouncement lifecycle based on MaintenanceAnnouncement state changes. |
mark_synced_fields_as_read_only |
Custom Signal (pre_serializer_fields) |
OfferingOptionsUpdateSerializer |
No description |
mark_synced_fields_as_read_only |
Custom Signal (pre_serializer_fields) |
OfferingOverviewUpdateSerializer |
No description |
notify_about_project_details_update |
Django Signal (post_save) |
marketplace_remote.ProjectUpdateRequest |
No description |
notify_about_request_based_item_creation |
Django Signal (post_save) |
support.Issue |
No description |
notify_approvers_when_order_is_created |
Django Signal (post_save) |
marketplace.Order |
Notify approvers when an order is created. |
notify_offering_user_about_tos_requirement |
Django Signal (post_save) |
marketplace.OfferingUser |
Notify user about ToS requirement when OfferingUser is created. |
notify_user_about_rejected_order |
Django Signal (post_save) |
marketplace.Order |
Notify user about rejected order. |
notify_users_about_tos_update_signal |
Django Signal (post_save) |
marketplace.OfferingTermsOfService |
Notify users when ToS is updated and requires re-consent. |
offering_component_has_been_created_or_updated |
Django Signal (post_save) |
marketplace.OfferingComponent |
Log offering component creation and updates. |
offering_component_has_been_deleted |
Django Signal (post_delete) |
marketplace.OfferingComponent |
Log offering component deletion. |
offering_has_been_created_or_updated |
Django Signal (post_save) |
marketplace.Offering |
Log offering creation and state updates. |
plan_component_has_been_updated |
Django Signal (post_save) |
marketplace.PlanComponent |
Log plan component updates. |
plan_has_been_created_or_updated |
Django Signal (post_save) |
marketplace.Plan |
Log plan creation, update, and archiving events. |
populate_volume_metadata_on_resource_creation |
Django Signal (post_save) |
marketplace.Resource |
No description |
process_billing_on_resource_save |
Django Signal (post_save) |
marketplace.Resource |
Handle resource state changes and billing events. |
process_invitations_and_orders_when_project_start_date_is_unset |
Django Signal (post_save) |
structure.Project |
Process pending invitations and orders when a project's start date is unset. |
process_invoice_item |
Django Signal (post_save) |
invoices.InvoiceItem |
Process invoice item changes and update related price estimates. |
project_credit_changed_handler |
Django Signal (post_save) |
invoices.ProjectCredit |
No description |
project_estimated_cost_policy_trigger_handler |
Django Signal (post_save) |
invoices.InvoiceItem |
Evaluate project cost policies when invoice items are updated. |
refund_project_credit_on_project_removal |
Django Signal (pre_delete) |
structure.Project |
No description |
request_offering_user_deletion_when_project_access_lost |
Custom Signal (role_revoked) |
— |
Schedule task to request offering user deletion when project access is lost. |
resource_has_been_changed |
Django Signal (post_save) |
marketplace.Resource |
Log resource changes. |
resource_options_have_been_changed |
Django Signal (post_save) |
marketplace.Resource |
Handle script execution when marketplace resource options are changed. |
resource_state_has_been_changed |
Django Signal (post_save) |
marketplace.Resource |
Handle resource state changes. |
run_reset_actions_upon_cost_policy_deletion |
Django Signal (pre_delete) |
policy.ProjectEstimatedCostPolicy |
Execute reset actions when a cost policy is deleted. |
send_comment_added_notification |
Django Signal (post_save) |
support.Comment |
No description |
send_course_account_deletion_info |
Django Signal (post_save) |
marketplace.CourseAccount |
No description |
send_course_account_info |
Django Signal (post_save) |
marketplace.CourseAccount |
No description |
send_done_order_to_message_queue |
Django Signal (post_save) |
marketplace.Order |
Send completed marketplace order to message queue for site agent processing. |
send_issue_updated_notification |
Django Signal (post_save) |
support.Issue |
No description |
send_offering_user_created_message |
Django Signal (post_save) |
marketplace.OfferingUser |
Send OfferingUser creation message to message queue for external systems. |
send_offering_user_deleted_message |
Django Signal (post_delete) |
marketplace.OfferingUser |
Send OfferingUser deletion message to message queue for external systems. |
send_offering_user_updated_message |
Django Signal (post_save) |
marketplace.OfferingUser |
Send OfferingUser update message to message queue for external systems. |
send_offering_user_username_message |
Django Signal (post_save) |
marketplace.OfferingUser |
No description |
send_pending_order_to_message_queue |
Django Signal (post_save) |
marketplace.Order |
Send pending marketplace order to message queue for site agent processing. |
send_project_service_account_deletion_info |
Django Signal (post_save) |
marketplace.ProjectServiceAccount |
No description |
send_project_service_account_info |
Django Signal (post_save) |
marketplace.ProjectServiceAccount |
No description |
send_resource_update_message_to_queue |
Django Signal (post_save) |
marketplace.Resource |
No description |
send_role_granted_message_to_queue |
Custom Signal (role_granted) |
— |
No description |
send_role_revoked_message_to_queue |
Custom Signal (role_revoked) |
— |
No description |
set_mtu_when_network_has_been_created |
Django Signal (post_save) |
openstack.Network |
No description |
set_project_name_on_invoice_item_creation |
Django Signal (post_save) |
invoices.InvoiceItem |
No description |
set_tax_percent_on_invoice_creation |
Django Signal (pre_save) |
invoices.Invoice |
No description |
slurm_periodic_usage_policy_trigger_handler |
Django Signal (post_save) |
marketplace.ComponentUsage |
Lightweight signal handler that queues background policy evaluation. |
switch_resource_plan_period_when_plan_is_updated |
Django Signal (post_save) |
marketplace.Resource |
Switch the resource plan period when a resource's plan is updated. |
sync_component_user_usage_when_allocation_user_usage_is_submitted |
Django Signal (post_save) |
waldur_openportal.AllocationUserUsage |
No description |
sync_component_user_usage_when_allocation_user_usage_is_submitted |
Django Signal (post_save) |
waldur_slurm.AllocationUserUsage |
No description |
sync_limits |
Django Signal (post_save) |
marketplace.Resource |
Synchronize resource limits. |
sync_offering_resource_options |
Django Signal (post_save) |
marketplace.Offering |
No description |
sync_permission_with_remote |
Custom Signal (role_granted) |
— |
No description |
sync_permission_with_remote |
Custom Signal (role_revoked) |
— |
No description |
sync_permission_with_remote |
Custom Signal (role_updated) |
— |
No description |
sync_remote_project_when_request_is_approved |
Django Signal (post_save) |
marketplace_remote.ProjectUpdateRequest |
No description |
sync_resource_limit_when_order |
Django Signal (post_save) |
marketplace.Order |
Synchronize resource limits when an order is created. |
synchronize_directly_connected_ips |
Django Signal (post_save) |
openstack.Instance |
No description |
synchronize_floating_ips |
Django Signal (post_save) |
openstack.FloatingIP |
No description |
synchronize_floating_ips_on_delete |
Django Signal (post_delete) |
openstack.FloatingIP |
No description |
synchronize_instance_after_pull |
Django Signal (post_save) |
openstack.Instance |
No description |
synchronize_instance_hypervisor_hostname |
Django Signal (post_save) |
openstack.Instance |
No description |
synchronize_instance_name |
Django Signal (post_save) |
openstack.Instance |
No description |
synchronize_limits_when_storage_mode_is_switched |
Django Signal (post_save) |
marketplace.Offering |
No description |
synchronize_nic |
Django Signal (post_save) |
waldur_azure.NetworkInterface |
No description |
synchronize_ports |
Django Signal (post_save) |
openstack.Port |
No description |
synchronize_ports_on_delete |
Django Signal (post_delete) |
openstack.Port |
No description |
synchronize_public_ip |
Django Signal (post_save) |
waldur_azure.PublicIP |
No description |
synchronize_resource_metadata_on_delete |
Django Signal (post_delete) |
waldur_azure.VirtualMachine |
Synchronize resource metadata on delete. |
synchronize_resource_metadata_on_delete |
Django Signal (post_delete) |
waldur_azure.SQLServer |
Synchronize resource metadata on delete. |
synchronize_resource_metadata_on_delete |
Django Signal (post_delete) |
waldur_azure.SQLDatabase |
Synchronize resource metadata on delete. |
synchronize_resource_metadata_on_delete |
Django Signal (post_delete) |
waldur_openportal.Allocation |
Synchronize resource metadata on delete. |
synchronize_resource_metadata_on_delete |
Django Signal (post_delete) |
waldur_openportal.RemoteAllocation |
Synchronize resource metadata on delete. |
synchronize_resource_metadata_on_delete |
Django Signal (post_delete) |
openstack.Instance |
Synchronize resource metadata on delete. |
synchronize_resource_metadata_on_delete |
Django Signal (post_delete) |
openstack.Volume |
Synchronize resource metadata on delete. |
synchronize_resource_metadata_on_delete |
Django Signal (post_delete) |
openstack.Tenant |
Synchronize resource metadata on delete. |
synchronize_resource_metadata_on_delete |
Django Signal (post_delete) |
waldur_rancher.Cluster |
Synchronize resource metadata on delete. |
synchronize_resource_metadata_on_delete |
Django Signal (post_delete) |
waldur_slurm.Allocation |
Synchronize resource metadata on delete. |
synchronize_resource_metadata_on_delete |
Django Signal (post_delete) |
waldur_vmware.VirtualMachine |
Synchronize resource metadata on delete. |
synchronize_resource_metadata_on_save |
Django Signal (post_save) |
waldur_azure.VirtualMachine |
Synchronize resource metadata on save. |
synchronize_resource_metadata_on_save |
Django Signal (post_save) |
waldur_azure.SQLServer |
Synchronize resource metadata on save. |
synchronize_resource_metadata_on_save |
Django Signal (post_save) |
waldur_azure.SQLDatabase |
Synchronize resource metadata on save. |
synchronize_resource_metadata_on_save |
Django Signal (post_save) |
waldur_openportal.Allocation |
Synchronize resource metadata on save. |
synchronize_resource_metadata_on_save |
Django Signal (post_save) |
waldur_openportal.RemoteAllocation |
Synchronize resource metadata on save. |
synchronize_resource_metadata_on_save |
Django Signal (post_save) |
openstack.Instance |
Synchronize resource metadata on save. |
synchronize_resource_metadata_on_save |
Django Signal (post_save) |
openstack.Volume |
Synchronize resource metadata on save. |
synchronize_resource_metadata_on_save |
Django Signal (post_save) |
openstack.Tenant |
Synchronize resource metadata on save. |
synchronize_resource_metadata_on_save |
Django Signal (post_save) |
waldur_rancher.Cluster |
Synchronize resource metadata on save. |
synchronize_resource_metadata_on_save |
Django Signal (post_save) |
waldur_slurm.Allocation |
Synchronize resource metadata on save. |
synchronize_resource_metadata_on_save |
Django Signal (post_save) |
waldur_vmware.VirtualMachine |
Synchronize resource metadata on save. |
synchronize_router_backend_metadata |
Django Signal (post_save) |
openstack.Router |
No description |
synchronize_tenant_name |
Django Signal (post_save) |
openstack.Tenant |
No description |
synchronize_volume_metadata_on_pull |
Custom Signal (resource_pulled) |
openstack.Volume |
No description |
synchronize_volume_metadata_on_resource_post_save |
Django Signal (post_save) |
marketplace.Resource |
No description |
synchronize_volume_metadata_on_save |
Django Signal (post_save) |
openstack.Volume |
No description |
tenant_does_not_exist_in_backend |
Custom Signal (tenant_does_not_exist_in_backend) |
openstack.Tenant |
No description |
terminate_resource |
Django Signal (pre_delete) |
waldur_azure.VirtualMachine |
Terminate a resource. |
terminate_resource |
Django Signal (pre_delete) |
waldur_azure.SQLServer |
Terminate a resource. |
terminate_resource |
Django Signal (pre_delete) |
waldur_azure.SQLDatabase |
Terminate a resource. |
terminate_resource |
Django Signal (pre_delete) |
waldur_openportal.Allocation |
Terminate a resource. |
terminate_resource |
Django Signal (pre_delete) |
waldur_openportal.RemoteAllocation |
Terminate a resource. |
terminate_resource |
Django Signal (pre_delete) |
openstack.Instance |
Terminate a resource. |
terminate_resource |
Django Signal (pre_delete) |
openstack.Volume |
Terminate a resource. |
terminate_resource |
Django Signal (pre_delete) |
openstack.Tenant |
Terminate a resource. |
terminate_resource |
Django Signal (pre_delete) |
waldur_rancher.Cluster |
Terminate a resource. |
terminate_resource |
Django Signal (pre_delete) |
waldur_slurm.Allocation |
Terminate a resource. |
terminate_resource |
Django Signal (pre_delete) |
waldur_vmware.VirtualMachine |
Terminate a resource. |
trigger_order_callback |
Django Signal (post_save) |
marketplace.Order |
Trigger HTTP callback when marketplace order state changes. |
trigger_user_action_recalculation_on_order_state_change |
Django Signal (post_save) |
marketplace.Order |
Trigger immediate UserAction recalculation when Order state changes. |
update_argocd_secret_when_resource_options_changed |
Django Signal (post_save) |
marketplace.Resource |
No description |
update_cache_when_invoice_item_is_deleted |
Django Signal (post_delete) |
invoices.InvoiceItem |
No description |
update_cache_when_invoice_item_is_updated |
Django Signal (post_save) |
invoices.InvoiceItem |
No description |
update_category_offerings_count |
Custom Signal (recalculate_quotas) |
— |
Update the count of offerings for each category. |
update_category_quota_when_offering_is_created |
Django Signal (post_save) |
marketplace.Offering |
Update category quota when an offering is created or its state changes. |
update_category_quota_when_offering_is_deleted |
Django Signal (post_delete) |
marketplace.Offering |
Update category quota when an offering is deleted. |
update_component_quota |
Django Signal (post_save) |
waldur_openportal.Allocation |
No description |
update_component_quota |
Django Signal (post_save) |
waldur_openportal.RemoteAllocation |
No description |
update_component_quota |
Django Signal (post_save) |
waldur_slurm.Allocation |
No description |
update_customer_of_offering_if_project_has_been_moved |
Custom Signal (project_moved) |
structure.Project |
Update the customer of an offering if the project has been moved. |
update_daily_quotas |
Django Signal (post_save) |
quotas.QuotaUsage |
No description |
update_estimate_when_invoice_is_created |
Django Signal (post_save) |
invoices.Invoice |
Update price estimates when new invoice is created for customer. |
update_floating_ip_external_addresses |
Django Signal (post_save) |
openstack.FloatingIP |
No description |
update_google_calendar_name_if_offering_name_has_been_changed |
Django Signal (post_save) |
marketplace.Offering |
No description |
update_instances_ip_external_addresses |
Django Signal (post_save) |
marketplace.Offering |
No description |
update_invoice_item_on_project_name_update |
Django Signal (post_save) |
structure.Project |
No description |
update_invoice_when_usage_is_reported |
Django Signal (post_save) |
marketplace.ComponentUsage |
Handles billing when component usage is reported, with integrated prepaid logic. |
update_maintenance_announcement_on_offering_change |
Django Signal (post_save) |
marketplace.MaintenanceAnnouncementOffering |
Update AdminAnnouncement when affected offerings change. |
update_maintenance_announcement_on_offering_change |
Django Signal (post_delete) |
marketplace.MaintenanceAnnouncementOffering |
Update AdminAnnouncement when affected offerings change. |
update_marketplace_resource_limits_when_vm_is_updated |
Custom Signal (vm_updated) |
— |
No description |
update_offering_user_username_after_freeipa_profile_update |
Django Signal (post_save) |
waldur_freeipa.Profile |
Update offering user usernames after FreeIPA profile creation/update. |
update_offering_user_username_after_offering_settings_change |
Django Signal (post_save) |
marketplace.Offering |
Update offering user usernames after offering settings change. |
update_offering_user_username_after_user_change |
Django Signal (post_save) |
core.User |
Set new username for offering users after site_username in user details has been changed. |
update_openstack_tenant_usages |
Django Signal (post_save) |
quotas.QuotaUsage |
No description |
update_order_if_issue_was_complete |
Django Signal (post_save) |
support.Issue |
No description |
update_remote_resource_end_date |
Django Signal (post_save) |
marketplace.Resource |
No description |
update_remote_resource_options |
Django Signal (post_save) |
marketplace.Resource |
No description |
update_resource_scope_availability_on_offering_state_change |
Django Signal (post_save) |
marketplace.Offering |
No description |
update_resource_state_on_order_creation |
Django Signal (post_save) |
marketplace.Order |
Update resource state when an order is created. |
update_resource_state_on_order_rejection_error_or_cancellation |
Django Signal (post_save) |
marketplace.Order |
Update resource state when an order is rejected, erred or canceled. |
Application: waldur_openportal
| Handler Name | Signal Type | Sender | Description |
|---|---|---|---|
delete_project |
Django Signal (pre_delete) |
structure.Project |
Make sure to remote the project in the remote portal if it is |
delete_user |
Django Signal (pre_delete) |
core.User |
Completely delete the user from all OpenPortal allocations to which |
role_granted |
Custom Signal (role_granted) |
— |
This function is called when a user is granted a role in a project. |
role_revoked |
Custom Signal (role_revoked) |
— |
Revoke a role from the passed user. Note that this will trigger a full |
sync_project_credits_on_remote_allocation_change |
Django Signal (post_save) |
waldur_openportal.RemoteAllocation |
Synchronize ProjectCredit when a RemoteAllocation is created or updated. |
update_allocation_credits |
Django Signal (post_save) |
marketplace.Resource |
Update the allocation credits for the given resource. This is called |
update_offering_agents |
Django Signal (post_save) |
waldur_openportal.ProjectTemplate |
No description |
update_project |
Django Signal (post_save) |
structure.Project |
Update the project (passed as "instance") in OpenPortal. If this |
update_quotas_on_allocation_usage_update |
Django Signal (post_save) |
waldur_openportal.Allocation |
No description |
update_quotas_on_remote_allocation_usage_update |
Django Signal (post_save) |
waldur_openportal.RemoteAllocation |
No description |
Application: waldur_openstack
| Handler Name | Signal Type | Sender | Description |
|---|---|---|---|
add_instance_fields |
Custom Signal (pre_serializer_fields) |
OpenStackFloatingIPSerializer |
Add instance-related fields to the serializer. |
delete_state_service_properties |
Django Signal (post_delete) |
openstack.Tenant |
Delete state service properties. |
log_action |
Django Signal (post_save) |
openstack.Instance |
Log any resource action. |
log_action |
Django Signal (post_save) |
openstack.Volume |
Log any resource action. |
log_action |
Django Signal (post_save) |
openstack.Snapshot |
Log any resource action. |
log_network_cleaned |
Django Signal (post_delete) |
openstack.Network |
Log network cleanup. |
log_security_group_cleaned |
Django Signal (post_delete) |
openstack.SecurityGroup |
Log security group cleanup. |
log_security_group_rule_cleaned |
Django Signal (post_delete) |
openstack.SecurityGroupRule |
Log security group rule cleanup. |
log_server_group_cleaned |
Django Signal (post_delete) |
openstack.ServerGroup |
Log server group cleanup. |
log_subnet_cleaned |
Django Signal (post_delete) |
openstack.SubNet |
Log subnet cleanup. |
log_tenant_quota_update |
Django Signal (post_save) |
quotas.QuotaLimit |
Log tenant quota updates. |
remove_ssh_key_from_all_tenants_on_it_deletion |
Django Signal (pre_delete) |
core.SshPublicKey |
Delete key from all tenants that are accessible for user on key deletion. |
remove_ssh_key_from_tenants |
Custom Signal (role_revoked) |
— |
Delete user ssh keys from tenants that he does not have access now. |
Application: waldur_openstack_replication
| Handler Name | Signal Type | Sender | Description |
|---|---|---|---|
handle_migration_post_save |
Django Signal (post_save) |
waldur_openstack_replication.Migration |
Handle migration post-save events. |
Application: waldur_rancher
| Handler Name | Signal Type | Sender | Description |
|---|---|---|---|
add_group_to_rancher_scope |
Django Signal (post_save) |
waldur_rancher.KeycloakGroup |
Add a Keycloak group to Rancher scope. |
add_rancher_cluster_to_openstack_instance |
Custom Signal (pre_serializer_fields) |
OpenStackInstanceSerializer |
Add Rancher cluster information to OpenStack instance serializer. |
delete_catalog_if_scope_has_been_deleted |
Django Signal (post_delete) |
waldur_rancher.Project |
Delete a catalog if its scope has been deleted. |
delete_catalog_if_scope_has_been_deleted |
Django Signal (post_delete) |
waldur_rancher.Cluster |
Delete a catalog if its scope has been deleted. |
delete_catalog_if_scope_has_been_deleted |
Django Signal (post_delete) |
structure.ServiceSettings |
Delete a catalog if its scope has been deleted. |
delete_cluster_if_all_related_nodes_have_been_deleted |
Django Signal (post_delete) |
waldur_rancher.Node |
Delete a Rancher cluster if all its related nodes have been deleted. |
delete_keycloak_group_from_backend |
Django Signal (post_delete) |
waldur_rancher.KeycloakGroup |
Delete a Keycloak group from the backend. |
delete_keycloak_user_group_membership_from_backend |
Django Signal (post_delete) |
waldur_rancher.KeycloakUserGroupMembership |
Delete a Keycloak user group membership from the backend. |
delete_node_if_related_instance_has_been_deleted |
Django Signal (post_delete) |
openstack.Instance |
Delete a Rancher node if its related OpenStack instance has been deleted. |
remove_group_from_rancher_scope |
Django Signal (post_delete) |
waldur_rancher.KeycloakGroup |
Remove a Keycloak group from Rancher scope. |
set_error_state_for_cluster_if_related_node_deleting_is_failed |
Django Signal (post_save) |
waldur_rancher.Node |
Set error state for a Rancher cluster if a related node deletion fails. |
set_error_state_for_node_if_related_instance_deleting_is_failed |
Django Signal (post_save) |
openstack.Instance |
Set error state for a Rancher node if its related OpenStack instance deletion fails. |
Application: waldur_slurm
| Handler Name | Signal Type | Sender | Description |
|---|---|---|---|
process_role_granted |
Custom Signal (role_granted) |
— |
Process role granted events for FreeIPA synchronization. |
process_role_revoked |
Custom Signal (role_revoked) |
— |
Process role revoked events for FreeIPA synchronization. |
process_user_creation |
Django Signal (post_save) |
waldur_freeipa.Profile |
Process user creation for FreeIPA profiles. |
process_user_deletion |
Django Signal (pre_delete) |
waldur_freeipa.Profile |
Process user deletion for FreeIPA profiles. |
update_quotas_on_allocation_usage_update |
Django Signal (post_save) |
waldur_slurm.Allocation |
Update quotas on allocation usage update. |
Application: waldur_vmware
| Handler Name | Signal Type | Sender | Description |
|---|---|---|---|
update_vm_total_disk_when_disk_is_created_or_updated |
Django Signal (post_save) |
waldur_vmware.Disk |
Update VM total disk size when a disk is created or updated. |
update_vm_total_disk_when_disk_is_deleted |
Django Signal (post_delete) |
waldur_vmware.Disk |
Update VM total disk size when a disk is deleted. |
Summary
Total unique handlers found: 706
- waldur_auth_saml2: 1 handlers
- waldur_autoprovisioning: 1 handlers
- waldur_core: 355 handlers
- waldur_freeipa: 12 handlers
- waldur_lexis: 1 handlers
- waldur_mastermind: 293 handlers
- waldur_openportal: 10 handlers
- waldur_openstack: 13 handlers
- waldur_openstack_replication: 1 handlers
- waldur_rancher: 12 handlers
- waldur_slurm: 5 handlers
- waldur_vmware: 2 handlers
HomePort requirements
Overview
Homeport is a React-based application for interacting with Waldur Mastermind via browsers. It is intended for end-users as well as administrative roles.
Mobile-friendliness
All Homeport screens should be usable with mobile resolution.
Localization
All labels should be wrapped by translation tags to allow easy translations.
For details see instructions for developers.
Accessibility and WCAG compliance
Homeport is being used by human end-users and hence is developed according to the WCAG guidelines.
In particular, the following is followed:
- Static and dynamic linters for assuring that generated user interface conforms to technical requirements of WCAG (anchors, required attributes, etc).
- Usage of WCAG compliant colors in UI theme, provisioning of dark and light modes.
- Navigation is designed to be in compliance with WCAG 2.0 requirements.
- Manual testing for WCAG violations.
Internationalization
Per-request internationalization is enabled by default for the following languages:
- English (en)
- Estonian (et)
- Lithuanian (lt)
Client requests will respect the Accept-Language header.
Translation String Guidelines
When marking strings for translation, follow these guidelines:
- Build a proper sentence: start with a capital letter, end with a period.
Right: _('Deletion was scheduled.')
Wrong: _('deletion was scheduled')
- Use named-string interpolation instead of positional interpolation if message has several parameters.
Right: _('Operation was successfully scheduled for %(count)d instances: %(names)s.')
Wrong: _('Operation was successfully scheduled for %s instances: %s.')
- Mark the following for translation:
help_text,verbose_name, exception messages, and response messages. - Do NOT mark message templates for event or alert loggers.
Adding New Languages
For translating fields of some models, Waldur uses django-modeltranslation.
See the How to Add New Language guide for details on adding support for additional languages.
Marketplace Resource Identifiers
This document describes the identifier fields used in Waldur marketplace Resources and provides examples of how they work with OpenStack instances and volumes.
Identifier Fields Overview
The marketplace Resource model (src/waldur_mastermind/marketplace/models.py:1255) provides a comprehensive identifier system through various mixins and direct fields:
| Field | Type | Source | Purpose | Uniqueness | Notes |
|---|---|---|---|---|---|
id |
int |
Django AutoField | Primary key | Globally unique | Auto-incremented database ID |
uuid |
UUID |
UuidMixin | External API identifier | Globally unique | Used in REST API endpoints |
name |
CharField(150) |
NameMixin | Human-readable identifier | Per scope | Display name with validation |
slug |
SlugField |
SlugMixin | URL-friendly identifier | Per scope | Auto-generated from name |
backend_id |
CharField(255) |
BackendMixin | Backend system identifier | Per backend | External system mapping |
effective_id |
CharField(255) |
Resource | Remote Waldur identifier | Per remote system | Used for remote provisioning |
content_type |
ForeignKey |
ScopeMixin | Generic relation type | N/A | Part of generic foreign key |
object_id |
PositiveIntegerField |
ScopeMixin | Generic relation ID | N/A | Part of generic foreign key |
Identifier Categories
Internal Identification
id: Primary key for database operationsuuid: Public API identifier, used in REST endpoints like/api/marketplace-resources/{uuid}/
Human Identification
name: User-friendly display nameslug: URL-safe version of name for web interfaces
External Integration
backend_id: Maps to external system identifiers (e.g., OpenStack instance UUID)effective_id: Used when resource is provisioned through remote Waldur instances
Scope Linking
content_type/object_id: Generic foreign key linking to the underlying resource implementation
Examples with OpenStack Resources
OpenStack Instance Resource
When a marketplace Resource represents an OpenStack virtual machine (offering type "OpenStack.Instance"):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
OpenStack Volume Resource
When a marketplace Resource represents an OpenStack volume (offering type "OpenStack.Volume"):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Identifier Relationships
API Usage
- REST API endpoints use
uuid:/api/marketplace-resources/{uuid}/
Backend Synchronization
backend_idstores the OpenStack UUID for API calls to OpenStack- The linked scope object (Instance/Volume) also stores this UUID in its
backend_id - This creates a redundant but necessary mapping for efficient queries
Remote Provisioning
effective_idis used when resources are provisioned through remote Waldur instances- For local OpenStack resources, this field remains empty
- Enables federated deployments where one Waldur manages resources on another
Integration Guidelines
Slug Uniqueness and History
The slug field provides URL-friendly identifiers with specific uniqueness guarantees:
- Intended to be unique in history - When generating new slugs, Waldur considers both active and soft-deleted objects
- Soft deletion safe - Resources marked as deleted but not hard-deleted are still considered for slug uniqueness
- Hard deletion risk - Objects that are hard-deleted (e.g., Customer objects) can result in duplicate slugs in historical data
- Full historical uniqueness - Only UUIDs provide complete uniqueness guarantees across the entire system history
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Backend ID Usage
The backend_id field serves as a bridge to external systems with specific characteristics:
- External system ownership - Set by external parties, not controlled by Waldur
- No uniqueness guarantees - Waldur makes no assumptions about backend_id uniqueness
- Discovery mechanism - Used to map Waldur resources to external system identifiers
- Integration flexibility - Allows multiple resources to share the same backend_id if the external system requires it
Integration Examples
Storage System Path Mapping
A common integration pattern where Waldur resources map to storage system paths:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
SLURM Account Integration
Integration with SLURM workload manager where accounts are managed externally:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | |
Backend ID Discovery Patterns
Common patterns for using backend_id in external integrations:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Best Practices
- Always use
uuidfor API operations - it's the stable public identifier - Use
backend_idfor backend system integration - direct mapping to external UUIDs - Leverage scope relationships - access the underlying resource through
resource.scope - Maintain identifier consistency - ensure
backend_idmatches the scope object's identifiers - Handle effective_id for federation - check this field when dealing with remote resources
- Consider slug history - When using slugs for external paths, account for soft-deletion behavior
- Design for backend_id flexibility - Don't assume uniqueness, allow for shared backend resources
- Document discovery patterns - Clearly define how external systems will query Waldur using backend_id
Maintenance Announcement Management
Overview
The MaintenanceAnnouncement system provides a comprehensive solution for managing and communicating maintenance activities across Waldur services. Service providers can create, schedule, execute, and track maintenance announcements through a complete REST API interface. The system automatically integrates with the AdminAnnouncement system to provide user-facing notifications when maintenance is scheduled.
Core Concepts
MaintenanceAnnouncement Model
Maintenance announcements represent planned or emergency maintenance activities that may affect service availability. Each announcement includes:
- Basic Information: Name, message, maintenance type
- External Integration: Optional reference URL to external maintenance trackers
- Scheduling: Planned start/end times, actual start/end times
- State Management: FSM-controlled lifecycle states
- Service Provider: Associated service provider responsible for the maintenance
- Impact Tracking: Affected offerings with specific impact levels
- AdminAnnouncement Integration: Automatic creation of user-facing notifications when scheduled
State Lifecycle
MaintenanceAnnouncement follows a finite state machine (FSM) with the following states:
1 2 3 | |
State Descriptions:
- DRAFT: Initial state when maintenance is created but not yet published
- SCHEDULED: Published maintenance announcement visible to customers
- IN_PROGRESS: Maintenance is actively being performed
- COMPLETED: Maintenance has finished successfully
- CANCELLED: Maintenance was cancelled before completion
REST API Operations
Standard CRUD Operations
List Maintenance Announcements
1 | |
Create Maintenance Announcement
1 2 3 4 5 6 7 8 9 10 11 12 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Retrieve Maintenance Announcement
1 | |
Update Maintenance Announcement
1 2 3 4 5 6 7 | |
Delete Maintenance Announcement
1 | |
State Management Actions
All state management actions use POST method and follow the same pattern:
Schedule Maintenance
Publishes a draft maintenance announcement, making it visible to customers and automatically creates an associated AdminAnnouncement for user notifications.
1 | |
Requirements:
- Current state must be
DRAFT - User must be staff or service provider owner
Result:
- State transition:
DRAFT → SCHEDULED - AdminAnnouncement creation: Automatically creates a user-facing notification
- Content generation: Uses maintenance type prefix + message
- Priority mapping: Sets appropriate priority based on maintenance type
- Timing: Active from
scheduled_start - notify_before_minutestoscheduled_end + 1 hour
Unschedule Maintenance
Unpublishes a scheduled maintenance announcement, returning it to draft state and removes the associated AdminAnnouncement.
1 | |
Requirements:
- Current state must be
SCHEDULED - User must be staff or service provider owner
Result:
- State transition:
SCHEDULED → DRAFT - AdminAnnouncement cleanup: Automatically deletes the associated user notification
Start Maintenance
Marks maintenance as actively in progress.
1 | |
Requirements:
- Current state must be
SCHEDULED - User must be staff or service provider owner
- Automatically sets
actual_starttimestamp
Result: SCHEDULED → IN_PROGRESS
Complete Maintenance
Marks maintenance as successfully completed.
1 | |
Requirements:
- Current state must be
IN_PROGRESS - User must be staff or service provider owner
- Automatically sets
actual_endtimestamp
Result: IN_PROGRESS → COMPLETED
Cancel Maintenance
Cancels maintenance before completion and removes any associated AdminAnnouncement.
1 | |
Requirements:
- Current state must be
DRAFTorSCHEDULED - User must be staff or service provider owner
Result:
- State transition:
DRAFT|SCHEDULED → CANCELLED - AdminAnnouncement cleanup: Automatically deletes the associated user notification (if scheduled)
Response Format
Success Response (200 OK):
1 2 3 | |
State Validation Error (409 Conflict):
1 2 3 | |
Permission Error (404 Not Found):
1 2 3 | |
Authentication Error (401 Unauthorized):
1 2 3 | |
Maintenance Types
The system supports different types of maintenance activities:
| Value | Type | Description |
|---|---|---|
| 1 | Scheduled | Planned maintenance during scheduled windows |
| 2 | Emergency | Unplanned maintenance for critical issues |
| 3 | Security | Security-related updates and patches |
| 4 | Upgrade | System upgrades and feature deployments |
| 5 | Patch | Minor patches and bug fixes |
AdminAnnouncement Integration
Automatic User Notifications
When a MaintenanceAnnouncement transitions from DRAFT to SCHEDULED state, the system automatically creates an associated AdminAnnouncement to notify users. This integration provides:
Content Generation
The AdminAnnouncement content is automatically generated with:
- Type-specific prefix: Each maintenance type gets a descriptive emoji prefix
- 🔧 Scheduled Maintenance
- 🚨 Emergency Maintenance
- 🔒 Security Maintenance
- ⬆️ System Upgrade
- 🩹 Patch Deployment
- Original message: The maintenance message is used as-is
- Combined format:
[Type Prefix]: [Original Message]
Example:
1 2 | |
Priority Mapping
AdminAnnouncement priority is automatically set based on maintenance type:
- Emergency maintenance →
DANGERpriority (red alerts) - Security maintenance →
WARNINGpriority (yellow alerts) - All other types →
INFORMATIONpriority (blue alerts)
Timing Configuration
AdminAnnouncements are scheduled using the MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES setting:
- Active from:
scheduled_start - notify_before_minutes - Active to:
scheduled_end + 1 hour(buffer for completion)
Default notify_before_minutes is 60 minutes.
Lifecycle Management
The AdminAnnouncement automatically syncs with MaintenanceAnnouncement changes:
- Content updates: When maintenance message or type changes
- Cleanup: When maintenance is unscheduled or cancelled
- Deletion handling: Uses SET_NULL to handle manual AdminAnnouncement deletions
Enhanced AdminAnnouncement API
When a MaintenanceAnnouncement is scheduled, the associated AdminAnnouncement exposes additional maintenance-related fields through the API:
Additional Serializer Fields
1 | |
Response includes maintenance fields:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
Field Descriptions:
- maintenance_uuid: UUID of the associated MaintenanceAnnouncement
- maintenance_name: Human-readable name of the maintenance
- maintenance_type: Type of maintenance (upgrade, emergency, etc.)
- maintenance_state: Current FSM state of the maintenance
- maintenance_scheduled_start/end: Planned maintenance window
- maintenance_service_provider: Name of the responsible service provider
- maintenance_affected_offerings: Array of affected offerings with impact details
API Integration Notes
- Conditional fields: Maintenance fields are only present when AdminAnnouncement has an associated MaintenanceAnnouncement
- Real-time updates: Fields automatically update when maintenance details change
- OpenAPI documentation: All fields are properly documented with type hints for schema generation
- Null safety: Fields return
nullor empty arrays when no maintenance is associated
Configuration
Settings
MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES
Controls how long before the scheduled maintenance start time that AdminAnnouncements become active.
Default: 60 (minutes)
Usage:
1 2 3 4 | |
Effect:
- AdminAnnouncement
active_from=maintenance.scheduled_start - notify_before_minutes - Users see the notification from this time until maintenance completion + 1 hour buffer
External Integration
External Reference URL
The external_reference_url field provides integration with external maintenance tracking systems. This optional field allows you to:
- Link to external tickets: Connect maintenance announcements to tickets in systems like ServiceNow, JIRA, or custom trackers
- Provide additional context: Reference external documentation, status pages, or monitoring dashboards
- Enable workflow integration: Allow teams to track maintenance across multiple systems
Usage Examples:
https://servicedesk.company.com/ticket/MAINT-12345https://status.example.com/incidents/2024-01-15-database-upgradehttps://monitoring.company.com/dashboard/maintenance/db-upgrade-2024
API Field Details:
- Type: URL field (validates URL format)
- Required: No (blank=True)
- Use Cases: External ticket references, status page links, monitoring dashboards
Impact Levels
Each affected offering can specify its expected impact level:
| Value | Level | Description |
|---|---|---|
| 1 | No Impact | Service remains fully operational |
| 2 | Degraded Performance | Service available but with reduced performance |
| 3 | Partial Outage | Some features unavailable |
| 4 | Full Outage | Service completely unavailable |
Managing Affected Offerings
Maintenance announcements can specify which offerings will be affected through a separate endpoint. The affected_offerings field in the MaintenanceAnnouncement response is read-only and populated from associated MaintenanceAnnouncementOffering records.
Affected Offerings Workflow
- Create the maintenance announcement (as shown above)
- Add affected offerings using the separate endpoint
- The affected_offerings field will automatically reflect the associations
Affected Offerings API
List Affected Offerings
1 | |
Create Affected Offering
1 2 3 4 5 6 7 8 9 | |
Response:
1 2 3 4 5 6 7 8 9 10 | |
Retrieve Affected Offering
1 | |
Update Affected Offering
1 2 3 4 5 6 7 | |
Delete Affected Offering
1 | |
Viewing Affected Offerings
Once affected offerings are added, they appear in the MaintenanceAnnouncement response:
1 | |
Response includes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Permission System
Authorization Model
MaintenanceAnnouncement uses Waldur's standard permission system:
- Service Provider Path:
service_provider__customer - Automatic Filtering:
GenericRoleFilterhandles visibility - Role-Based Access: Permissions tied to service provider ownership
User Permissions
Staff Users:
- Full access to all maintenance announcements
- Can perform all state transitions
- Can create/update/delete any announcement
Service Provider Owners:
- Full access to their service provider's maintenance announcements
- Can perform all state transitions on their announcements
- Can create/update/delete their announcements
Other Users:
- No access to maintenance announcements (404 Not Found)
- Cannot view or modify any maintenance data
Key Points
Affected Offerings Management
- Separate Endpoint: Affected offerings are managed via
/api/maintenance-announcement-offerings/ - Read-Only Field: The
affected_offeringsfield in MaintenanceAnnouncement is read-only - Two-Step Process: Create maintenance announcement first, then add affected offerings
- Automatic Population: The
affected_offeringsfield automatically reflects associated records - Individual Management: Each affected offering can be updated or deleted independently
Important Notes
- You cannot include
affected_offeringsdirectly in the MaintenanceAnnouncement POST/PATCH requests - Affected offerings inherit the same permission model as the parent maintenance announcement
- Impact levels and descriptions are specific to each offering-maintenance relationship
- Deleting a maintenance announcement will cascade delete all associated affected offerings
AdminAnnouncement Integration Notes
- Automatic lifecycle: AdminAnnouncements are automatically created/updated/deleted based on maintenance state
- Manual deletion handling: If an AdminAnnouncement is manually deleted, the maintenance relationship is gracefully cleared (SET_NULL)
- Content synchronization: AdminAnnouncement content automatically updates when maintenance message or type changes
- Enhanced API: AdminAnnouncement API dynamically includes maintenance fields when associated with maintenance
- No manual management needed: The integration is fully automated - no manual AdminAnnouncement creation required
Mixin classes documentation
This document lists all mixin classes found in the Waldur codebase.
| Mixin Name | Module | Short Description |
|---|---|---|
BaseChecklistMixin |
waldur_core.checklist.mixins |
Base mixin providing common checklist functionality |
ReviewerChecklistMixin |
waldur_core.checklist.mixins |
Mixin for ViewSets that provide checklist review functionality to reviewers |
UserChecklistMixin |
waldur_core.checklist.mixins |
Mixin for ViewSets that provide checklist functionality to end users |
CopyButtonMixin |
waldur_core.core.admin |
Mixin to add copy-to-clipboard functionality to form fields in Django admin |
ExcludedFieldsAdminMixin |
waldur_core.core.admin |
This mixin allows to toggle display of fields in Django model admin according... |
ExtraActionsMixin |
waldur_core.core.admin |
Allows to add extra actions to admin list page |
ExtraActionsObjectMixin |
waldur_core.core.admin |
Allows to add extra actions to admin object edit page |
HideAdminOriginalMixin |
waldur_core.core.admin |
Encapsulate all admin options and functionality for a given model |
ReadOnlyAdminMixin |
waldur_core.core.admin |
Disables all editing capabilities |
DeleteExecutorMixin |
waldur_core.core.executors |
Delete object on success or if force flag is enabled |
ErrorExecutorMixin |
waldur_core.core.executors |
Set object as erred on fail |
SuccessExecutorMixin |
waldur_core.core.executors |
Set object as OK on success, cleanup action and its details |
GenericKeyMixin |
waldur_core.core.managers |
Filtering by generic key field Support filtering by: - generic key directly... |
CreateExecutorMixin |
waldur_core.core.mixins |
Mixin to execute create operations using background executors |
DeleteExecutorMixin |
waldur_core.core.mixins |
Mixin to execute delete operations using background executors |
EagerLoadMixin |
waldur_core.core.mixins |
Reduce number of requests to DB |
ExecutorMixin |
waldur_core.core.mixins |
Execute create/update/delete operation with executor |
GetValueMixin |
waldur_core.core.mixins |
Mixin to provide helper method for getting values from attrs or instance |
ProjectNameTemplateMixin |
waldur_core.core.mixins |
Mixin for models that need to generate project names from templates |
ReviewMixin |
waldur_core.core.mixins |
An abstract base class model that provides self-updating created and ``mo... |
ReviewStateMixin |
waldur_core.core.mixins |
Make subclasses preserve the alters_data attribute on overridden methods |
ScopeMixin |
waldur_core.core.mixins |
Make subclasses preserve the alters_data attribute on overridden methods |
UpdateExecutorMixin |
waldur_core.core.mixins |
Mixin to execute update operations using background executors |
ActionMixin |
waldur_core.core.models |
Mixin for action tracking with state management |
AvailableMixin |
waldur_core.core.models |
Make subclasses preserve the alters_data attribute on overridden methods |
BackendMixin |
waldur_core.core.models |
Mixin to add standard backend_id field |
BackendModelMixin |
waldur_core.core.models |
Mixin for models connected to backend objects |
DescendantMixin |
waldur_core.core.models |
Mixin to provide child-parent relationships |
DescribableMixin |
waldur_core.core.models |
Mixin to add a standardized "description" field |
ErrorMessageMixin |
waldur_core.core.models |
Mixin to add standardized error handling fields |
LastSyncMixin |
waldur_core.core.models |
Mixin to track last synchronization time |
NameMixin |
waldur_core.core.models |
Mixin to add a standardized "name" field with validation |
RuntimeStateMixin |
waldur_core.core.models |
Mixin to provide runtime state tracking |
SlugMixin |
waldur_core.core.models |
Mixin to automatically generate a name-based slug |
StateMixin |
waldur_core.core.models |
Mixin implementing finite state machine (FSM) functionality |
UiDescribableMixin |
waldur_core.core.models |
Mixin to add a standardized "description" and "icon url" fields |
UserDetailsMatchMixin |
waldur_core.core.models |
Make subclasses preserve the alters_data attribute on overridden methods |
UserDetailsMixin |
waldur_core.core.models |
This mixin is shared by User and Invitation model |
UuidMixin |
waldur_core.core.models |
Mixin to identify models by UUID |
LookupMixin |
waldur_core.core.nested_routers |
Deprecated |
NestedMixin |
waldur_core.core.nested_routers |
Mixin for creating nested routers that handle hierarchical URL structures |
AugmentedSerializerMixin |
waldur_core.core.serializers |
This mixin provides several extensions to stock Serializer class: 1 |
RestrictedSerializerMixin |
waldur_core.core.serializers |
This mixin allows to specify list of fields to be rendered by serializer |
SlugSerializerMixin |
waldur_core.core.serializers |
Ensures that slug is editable only by staff |
TranslatedModelSerializerMixin |
waldur_core.core.serializers |
A ModelSerializer is just a regular Serializer, except that: * A set of ... |
ExtensionTaskMixin |
waldur_core.core.tasks |
This mixin allows to skip task scheduling if extension is disabled |
ActionMethodMixin |
waldur_core.core.views |
Implements helper methods for viewset when use separate nested endpoints for ... |
CheckExtensionMixin |
waldur_core.core.views |
Raise exception if extension is disabled |
ConstanceCheckExtensionMixin |
waldur_core.core.views |
Raise exception if extension is disabled |
CreateReversionMixin |
waldur_core.core.views |
Mixin to automatically create revision tracking for create operations |
HistoryViewSetMixin |
waldur_core.core.views |
Mixin that adds version history endpoints to ViewSets |
UpdateReversionMixin |
waldur_core.core.views |
Mixin to automatically create revision tracking for update operations |
LoggableMixin |
waldur_core.logging.mixins |
Mixin to serialize model in logs |
EventTypesMixin |
waldur_core.logging.models |
Mixin to add a event_types and event_groups fields |
UuidMixin |
waldur_core.logging.models |
Make subclasses preserve the alters_data attribute on overridden methods |
ImageModelMixin |
waldur_core.media.mixins |
Make subclasses preserve the alters_data attribute on overridden methods |
PermissionMixin |
waldur_core.permissions.mixins |
Base permission management mixin for customer and project |
UserRoleMixin |
waldur_core.permissions.views |
Mixin to provide user role management functionality for viewsets |
ExtendableQuotaModelMixin |
waldur_core.quotas.models |
Allows to add quotas to model in runtime |
QuotaModelMixin |
waldur_core.quotas.models |
Add general fields and methods to model for quotas usage |
SharedQuotaMixin |
waldur_core.quotas.models |
This mixin updates quotas for several scopes |
ChangeReadonlyMixin |
waldur_core.structure.admin |
Mixin to set different readonly fields for add and change views in Django admin |
FormRequestAdminMixin |
waldur_core.structure.admin |
This mixin allows you to get current request user in the model admin form, wh... |
ProtectedModelMixin |
waldur_core.structure.admin |
Mixin to handle protected model deletion errors gracefully in Django admin |
CoordinatesMixin |
waldur_core.structure.mixins |
Mixin to add a latitude and longitude fields |
IPCoordinatesMixin |
waldur_core.structure.mixins |
Mixin to add a latitude and longitude fields |
CustomerDetailsMixin |
waldur_core.structure.models |
Mixin containing customer detail fields |
ProjectOECDFOS2007CodeMixin |
waldur_core.structure.models |
Mixin providing OECD FOS 2007 classification codes for research projects |
ServiceAccountMixin |
waldur_core.structure.models |
Mixin for models that support service accounts |
StructureLoggableMixin |
waldur_core.structure.models |
Extends LoggableMixin with structure-specific permission filtering |
VATMixin |
waldur_core.structure.models |
Add country and VAT number fields for tax compliance and record keeping |
CountrySerializerMixin |
waldur_core.structure.serializers |
The BaseSerializer class provides a minimal class which may be used for writi... |
FieldFilteringMixin |
waldur_core.structure.serializers |
Mixin allowing to filter fields by user |
PermissionFieldFilteringMixin |
waldur_core.structure.serializers |
Mixin allowing to filter related fields |
SshPublicKeySerializerMixin |
waldur_core.structure.serializers |
A type of ModelSerializer that uses hyperlinked relationships instead of pr... |
ProjectMetadataTestMixin |
waldur_core.structure.tests.test_project_metadata |
Shared test setup and utilities for project metadata tests |
AvailabilityCheckViewMixin |
waldur_core.structure.views |
A viewset that provides default create(), retrieve(), update(), `partia... |
CheckExtensionMixin |
waldur_freeipa.views |
Raise exception if extension is disabled |
LLMConfigurationMixin |
waldur_mastermind.chat.views |
Validates that LLM chat is enabled and properly configured |
PeriodMixin |
waldur_mastermind.invoices.models |
Make subclasses preserve the alters_data attribute on overridden methods |
ConnectedResourceMixin |
waldur_mastermind.marketplace.admin |
Protects object from modification if there are connected resources |
ParentInlineMixin |
waldur_mastermind.marketplace.admin |
Mixin to get parent object from request in Django admin inline views |
OfferingFilterMixin |
waldur_mastermind.marketplace.filters |
Mixin to provide common offering-related filters |
CostEstimateMixin |
waldur_mastermind.marketplace.models |
Mixin for cost estimation functionality |
ResourceDetailsMixin |
waldur_mastermind.marketplace.models |
Mixin combining resource details with cost estimation |
SafeAttributesMixin |
waldur_mastermind.marketplace.models |
Mixin for safe attribute handling |
ConnectedOfferingDetailsMixin |
waldur_mastermind.marketplace.views |
Mixin to provide offering details action for connected resources |
PublicViewsetMixin |
waldur_mastermind.marketplace.views |
Mixin to allow anonymous access to offerings when configured |
TenantMixin |
waldur_mastermind.marketplace_openstack.processors |
No description available |
SelectiveDNSMockMixin |
waldur_mastermind.marketplace_remote.tests.dns_utils |
Mixin class that provides selective DNS mocking for test classes |
ContainerExecutorMixin |
waldur_mastermind.marketplace_script.utils |
Mixin to execute scripts in containers for marketplace script processing |
EstimatedCostPolicyMixin |
waldur_mastermind.policy.models |
Make subclasses preserve the alters_data attribute on overridden methods |
OfferingPolicySerializerMixin |
waldur_mastermind.policy.serializers |
This mixin provides several extensions to stock Serializer class: 1 |
ProposalComplianceTestMixin |
waldur_mastermind.proposal.tests.test_proposal_compliance |
Common setup for proposal compliance tests |
InvitationAcceptanceMixin |
waldur_mastermind.proposal.views |
Mixin providing common logic for accepting/declining reviewer pool invitations |
BackendNameMixin |
waldur_mastermind.support.models |
Make subclasses preserve the alters_data attribute on overridden methods |
FileMixin |
waldur_mastermind.support.models |
Mixin to provide file-related functionality and properties |
CheckExtensionMixin |
waldur_mastermind.support.views |
Raise exception if extension is disabled |
UsageMixin |
waldur_openportal.models |
Make subclasses preserve the alters_data attribute on overridden methods |
ActionDetailsMixin |
waldur_openstack.admin |
Encapsulate all admin options and functionality for a given model |
ImageMetadataMixin |
waldur_openstack.admin |
Encapsulate all admin options and functionality for a given model |
MetadataMixin |
waldur_openstack.admin |
Encapsulate all admin options and functionality for a given model |
TenantQuotaMixin |
waldur_openstack.models |
It allows to update both service settings and shared tenant quotas |
LimitedPerTypeThrottleMixin |
waldur_openstack.tasks |
No description available |
TenantMixin |
waldur_openstack.tests.factories |
No description available |
DataciteMixin |
waldur_pid.mixins |
A marker model for models that can be registered with PIDs and referred to in... |
RoleMixin |
waldur_rancher.models |
Make subclasses preserve the alters_data attribute on overridden methods |
SettingsMixin |
waldur_rancher.models |
Make subclasses preserve the alters_data attribute on overridden methods |
SyncDestroyMixin |
waldur_rancher.views |
No description available |
YamlMixin |
waldur_rancher.views |
No description available |
UsageMixin |
waldur_slurm.models |
Make subclasses preserve the alters_data attribute on overridden methods |
VirtualMachineMixin |
waldur_vmware.models |
Make subclasses preserve the alters_data attribute on overridden methods |
Detailed Descriptions
BaseChecklistMixin
Module: waldur_core.checklist.mixins
Description:
Base mixin providing common checklist functionality.
Provides shared helper methods used by both UserChecklistMixin and ReviewerChecklistMixin. Should not be used directly - use UserChecklistMixin or ReviewerChecklistMixin instead.
ReviewerChecklistMixin
Module: waldur_core.checklist.mixins
Description:
Mixin for ViewSets that provide checklist review functionality to reviewers.
Provides actions for designated reviewers to view full checklist information including sensitive review logic:
- checklist_review: Get full checklist with review logic exposed
- completion_review_status: Get full completion status with review triggers exposed
Security Design: This mixin exposes privileged review information and should only be used with proper reviewer permission controls.
IMPORTANT: Must override permissions with app-specific reviewer checks:
- checklist_review_permissions = [permission_factory(...)] # Reviewer permissions required
- completion_review_status_permissions = [permission_factory(...)] # Reviewer permissions required
Base classes: BaseChecklistMixin
UserChecklistMixin
Module: waldur_core.checklist.mixins
Description:
Mixin for ViewSets that provide checklist functionality to end users.
Provides actions for users filling in checklists or viewing their answers:
- checklist: Get checklist questions with existing answers (hides review logic)
- completion_status: Get completion status (hides review triggers)
- submit_answers: Submit answers to checklist questions
Security Design: This mixin hides all review logic information to prevent users from gaming the system by seeing which answers trigger reviews.
Default permissions are IsAdminUser but should be overridden with app-specific permissions:
- checklist_permissions = [permission_factory(...)]
- completion_status_permissions = [permission_factory(...)]
- submit_answers_permissions = [permission_factory(...)]
Base classes: BaseChecklistMixin
CopyButtonMixin
Module: waldur_core.core.admin
Description:
Mixin to add copy-to-clipboard functionality to form fields in Django admin.
ExcludedFieldsAdminMixin
Module: waldur_core.core.admin
Description:
This mixin allows to toggle display of fields in Django model admin according to custom logic. It's expected that inherited class has implemented excluded_fields property.
Base classes: ModelAdmin
ExtraActionsMixin
Module: waldur_core.core.admin
Description:
Allows to add extra actions to admin list page.
ExtraActionsObjectMixin
Module: waldur_core.core.admin
Description:
Allows to add extra actions to admin object edit page.
HideAdminOriginalMixin
Module: waldur_core.core.admin
Description:
Encapsulate all admin options and functionality for a given model.
Base classes: ModelAdmin
ReadOnlyAdminMixin
Module: waldur_core.core.admin
Description:
Disables all editing capabilities. Please ensure that readonly_fields is specified in derived class.
DeleteExecutorMixin
Module: waldur_core.core.executors
Description:
Delete object on success or if force flag is enabled
ErrorExecutorMixin
Module: waldur_core.core.executors
Description:
Set object as erred on fail.
SuccessExecutorMixin
Module: waldur_core.core.executors
Description:
Set object as OK on success, cleanup action and its details.
GenericKeyMixin
Module: waldur_core.core.managers
Description:
Filtering by generic key field
Support filtering by:
- generic key directly:
= - is generic key null:
__isnull=True|False
CreateExecutorMixin
Module: waldur_core.core.mixins
Description:
Mixin to execute create operations using background executors.
Base classes: AsyncExecutor
DeleteExecutorMixin
Module: waldur_core.core.mixins
Description:
Mixin to execute delete operations using background executors.
Base classes: AsyncExecutor
EagerLoadMixin
Module: waldur_core.core.mixins
Description:
Reduce number of requests to DB.
Serializer should implement static method "eager_load", that selects objects that are necessary for serialization.
ExecutorMixin
Module: waldur_core.core.mixins
Description:
Execute create/update/delete operation with executor
Base classes: CreateExecutorMixin, UpdateExecutorMixin, DeleteExecutorMixin
GetValueMixin
Module: waldur_core.core.mixins
Description:
Mixin to provide helper method for getting values from attrs or instance.
ProjectNameTemplateMixin
Module: waldur_core.core.mixins
Description:
Mixin for models that need to generate project names from templates.
Base classes: Model
ReviewMixin
Module: waldur_core.core.mixins
Description:
An abstract base class model that provides self-updating
created and modified fields.
Base classes: ReviewStateMixin, TimeStampedModel
ReviewStateMixin
Module: waldur_core.core.mixins
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
ScopeMixin
Module: waldur_core.core.mixins
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
UpdateExecutorMixin
Module: waldur_core.core.mixins
Description:
Mixin to execute update operations using background executors.
Base classes: AsyncExecutor
ActionMixin
Module: waldur_core.core.models
Description:
Mixin for action tracking with state management.
Extends StateMixin with action tracking fields including action name, action details (JSON), and task ID for background task tracking. Used for models that need to track ongoing operations.
Base classes: StateMixin
AvailableMixin
Module: waldur_core.core.models
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
BackendMixin
Module: waldur_core.core.models
Description:
Mixin to add standard backend_id field.
Provides a backend_id CharField for storing identifiers from external backend systems. Used for mapping local objects to their corresponding backend representations.
Base classes: Model
BackendModelMixin
Module: waldur_core.core.models
Description:
Mixin for models connected to backend objects.
Represents models that are synchronized with external backend systems. These models cannot be created or updated via admin interface because backend queries are not supported in the admin.
DescendantMixin
Module: waldur_core.core.models
Description:
Mixin to provide child-parent relationships.
Each related model can provide list of its parents through the get_parents() method. Used for hierarchical data structures where objects have parent-child relationships.
DescribableMixin
Module: waldur_core.core.models
Description:
Mixin to add a standardized "description" field.
Base classes: Model
ErrorMessageMixin
Module: waldur_core.core.models
Description:
Mixin to add standardized error handling fields.
Provides error_message and error_traceback TextField for storing error information and debugging details when operations fail.
Base classes: Model
LastSyncMixin
Module: waldur_core.core.models
Description:
Mixin to track last synchronization time.
Provides a last_sync DateTimeField that defaults to the current time and is not editable through forms. Used for tracking when data was last synchronized with external systems.
Base classes: Model
NameMixin
Module: waldur_core.core.models
Description:
Mixin to add a standardized "name" field with validation.
Provides a CharField with maximum length of 150 characters and validates the name using the validate_name validator.
Base classes: Model
RuntimeStateMixin
Module: waldur_core.core.models
Description:
Mixin to provide runtime state tracking.
Adds a runtime_state field with predefined ONLINE/OFFLINE states. Used to track the current operational status of resources.
Base classes: Model
SlugMixin
Module: waldur_core.core.models
Description:
Mixin to automatically generate a name-based slug.
Generates unique slugs based on the source field (default: 'name') during save operations. Uses generate_slug() to ensure uniqueness by appending numeric suffixes when needed.
Base classes: Model
StateMixin
Module: waldur_core.core.models
Description:
Mixin implementing finite state machine (FSM) functionality.
Provides state management with transitions between creation, updating, deletion, OK, and error states. Includes error handling capabilities and concurrent transition support.
Base classes: ErrorMessageMixin, ConcurrentTransitionMixin
UiDescribableMixin
Module: waldur_core.core.models
Description:
Mixin to add a standardized "description" and "icon url" fields.
Extends DescribableMixin with an icon_url field for UI display purposes. The icon_url field accepts URLs up to 500 characters.
Base classes: DescribableMixin
UserDetailsMatchMixin
Module: waldur_core.core.models
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
UserDetailsMixin
Module: waldur_core.core.models
Description:
This mixin is shared by User and Invitation model. All fields are optional. User is populated with these details when invitation is approved. Note that civil_number and email fields are not included in this mixin because they have different constraints in User and Invitation model.
Base classes: Model
UuidMixin
Module: waldur_core.core.models
Description:
Mixin to identify models by UUID.
Provides a UUID field for unique model identification. The UUID is automatically generated and used as a primary identifier.
Base classes: Model
LookupMixin
Module: waldur_core.core.nested_routers
Description:
Deprecated.
No method override is needed since Django Rest Framework 2.4.
NestedMixin
Module: waldur_core.core.nested_routers
Description:
Mixin for creating nested routers that handle hierarchical URL structures.
AugmentedSerializerMixin
Module: waldur_core.core.serializers
Description:
This mixin provides several extensions to stock Serializer class:
- Add extra fields to serializer from dependent applications in a way
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
- Declaratively add attributes fields of related entities for ModelSerializers.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | |
- Protect some fields from change.
1 2 3 4 5 6 7 | |
- This mixin overrides "get_extra_kwargs" method and puts "view_name" to extra_kwargs
or uses URL name specified in a model of serialized object.
RestrictedSerializerMixin
Module: waldur_core.core.serializers
Description:
This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).
SlugSerializerMixin
Module: waldur_core.core.serializers
Description:
Ensures that slug is editable only by staff
Base classes: Serializer
TranslatedModelSerializerMixin
Module: waldur_core.core.serializers
Description:
A ModelSerializer is just a regular Serializer, except that:
- A set of default fields are automatically populated.
- A set of default validators are automatically populated.
- Default
.create()and.update()implementations are provided.
The process of automatically determining a set of serializer fields based on the model fields is reasonably complex, but you almost certainly don't need to dig into the implementation.
If the ModelSerializer class doesn't generate the set of fields that
you need you should either declare the extra/differing fields explicitly on
the serializer class, or simply use a Serializer class.
Base classes: ModelSerializer
ExtensionTaskMixin
Module: waldur_core.core.tasks
Description:
This mixin allows to skip task scheduling if extension is disabled. Subclasses should implement "is_extension_disabled" method which returns boolean value.
Base classes: Task
ActionMethodMixin
Module: waldur_core.core.views
Description:
Implements helper methods for viewset when use separate nested endpoints for create/edit relations objects. Example:
@decorators.action(detail=True, methods=["get", "post"]) def offerings(self, request, uuid=None):
1 | |
offerings_serializer_class = serializers.RequestedOfferingSerializer
def offering_detail(self, request, uuid=None, obj_uuid=None):
1 2 3 4 5 6 7 8 9 | |
offering_detail_serializer_class = serializers.RequestedOfferingSerializer
CheckExtensionMixin
Module: waldur_core.core.views
Description:
Raise exception if extension is disabled
ConstanceCheckExtensionMixin
Module: waldur_core.core.views
Description:
Raise exception if extension is disabled
CreateReversionMixin
Module: waldur_core.core.views
Description:
Mixin to automatically create revision tracking for create operations.
HistoryViewSetMixin
Module: waldur_core.core.views
Description:
Mixin that adds version history endpoints to ViewSets.
Requirements:
- Model must be registered with django-reversion
- ViewSet must have get_object() method
- ViewSet must support pagination
Provides:
- GET /{resource}/{uuid}/history/ - List version history
- GET /{resource}/{uuid}/history/at/?timestamp=... - State at timestamp
Configuration (optional class attributes):
- history_serializer_class: Serializer for version objects (default: VersionHistorySerializer)
UpdateReversionMixin
Module: waldur_core.core.views
Description:
Mixin to automatically create revision tracking for update operations.
LoggableMixin
Module: waldur_core.logging.mixins
Description:
Mixin to serialize model in logs. Extends django model or custom class with fields extraction method.
EventTypesMixin
Module: waldur_core.logging.models
Description:
Mixin to add a event_types and event_groups fields.
Base classes: Model
UuidMixin
Module: waldur_core.logging.models
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
ImageModelMixin
Module: waldur_core.media.mixins
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
PermissionMixin
Module: waldur_core.permissions.mixins
Description:
Base permission management mixin for customer and project.
It is expected that reverse permissions relation is created for this model.
Provides method to grant, revoke and check object permissions.
UserRoleMixin
Module: waldur_core.permissions.views
Description:
Mixin to provide user role management functionality for viewsets.
ExtendableQuotaModelMixin
Module: waldur_core.quotas.models
Description:
Allows to add quotas to model in runtime.
Example:
1 2 3 4 5 6 | |
Base classes: QuotaModelMixin
QuotaModelMixin
Module: waldur_core.quotas.models
Description:
Add general fields and methods to model for quotas usage.
Model with quotas have inherit this mixin. For quotas implementation such methods and fields have to be defined:
- class Quota(QuotaModelMixin) - class with quotas fields as attributes.
Example:
1 2 3 4 | |
Use such methods to change objects quotas: set_quota_limit, set_quota_usage, add_quota_usage.
Base classes: Model
SharedQuotaMixin
Module: waldur_core.quotas.models
Description:
This mixin updates quotas for several scopes.
ChangeReadonlyMixin
Module: waldur_core.structure.admin
Description:
Mixin to set different readonly fields for add and change views in Django admin.
FormRequestAdminMixin
Module: waldur_core.structure.admin
Description:
This mixin allows you to get current request user in the model admin form, which then passed to add_user method, so that user which granted role, is stored in the permission model.
ProtectedModelMixin
Module: waldur_core.structure.admin
Description:
Mixin to handle protected model deletion errors gracefully in Django admin.
CoordinatesMixin
Module: waldur_core.structure.mixins
Description:
Mixin to add a latitude and longitude fields
Base classes: Model
IPCoordinatesMixin
Module: waldur_core.structure.mixins
Description:
Mixin to add a latitude and longitude fields
Base classes: CoordinatesMixin
CustomerDetailsMixin
Module: waldur_core.structure.models
Description:
Mixin containing customer detail fields.
Provides comprehensive customer information fields including native name, contact details, agreement number, email, phone, address, banking information, and external system integration.
Base classes: NameMixin, VATMixin, CoordinatesMixin
ProjectOECDFOS2007CodeMixin
Module: waldur_core.structure.models
Description:
Mixin providing OECD FOS 2007 classification codes for research projects.
Provides standardized classification codes for different scientific fields according to the OECD Fields of Science and Technology (FOS) 2007 standard. Used to categorize research projects by their scientific domain.
Base classes: Model
ServiceAccountMixin
Module: waldur_core.structure.models
Description:
Mixin for models that support service accounts.
Provides functionality for managing service accounts with configurable maximum limits. Used by customers and projects to control service account creation.
Base classes: Model
StructureLoggableMixin
Module: waldur_core.structure.models
Description:
Extends LoggableMixin with structure-specific permission filtering.
Provides permission filtering for logging operations based on structure-specific user permissions and visibility rules.
Base classes: LoggableMixin
VATMixin
Module: waldur_core.structure.models
Description:
Add country and VAT number fields for tax compliance and record keeping. VAT validation is optional and can be done manually or through external services.
Base classes: Model
CountrySerializerMixin
Module: waldur_core.structure.serializers
Description:
The BaseSerializer class provides a minimal class which may be used for writing custom serializer implementations.
Note that we strongly restrict the ordering of operations/properties that may be used on the serializer in order to enforce correct usage.
In particular, if a data= argument is passed then:
.is_valid() - Available.
.initial_data - Available.
.validated_data - Only available after calling is_valid()
.errors - Only available after calling is_valid()
.data - Only available after calling is_valid()
If a data= argument is not passed then:
.is_valid() - Not available. .initial_data - Not available. .validated_data - Not available. .errors - Not available. .data - Available.
Base classes: Serializer
FieldFilteringMixin
Module: waldur_core.structure.serializers
Description:
Mixin allowing to filter fields by user.
In order to constrain the list of fields implement
get_filtered_field() method returning list of tuples
(field name, func for check access).
PermissionFieldFilteringMixin
Module: waldur_core.structure.serializers
Description:
Mixin allowing to filter related fields.
In order to constrain the list of entities that can be used as a value for the field:
-
Make sure that the entity in question has corresponding Permission class defined.
-
Implement
get_filtered_field_names()method
in the class that this mixin is mixed into and return the field in question from that method.
SshPublicKeySerializerMixin
Module: waldur_core.structure.serializers
Description:
A type of ModelSerializer that uses hyperlinked relationships instead
of primary key relationships. Specifically:
- A 'url' field is included instead of the 'id' field.
- Relationships to other instances are hyperlinks, instead of primary keys.
Base classes: HyperlinkedModelSerializer
ProjectMetadataTestMixin
Module: waldur_core.structure.tests.test_project_metadata
Description:
Shared test setup and utilities for project metadata tests.
AvailabilityCheckViewMixin
Module: waldur_core.structure.views
Description:
A viewset that provides default create(), retrieve(), update(),
partial_update(), destroy() and list() actions.
Base classes: ModelViewSet
CheckExtensionMixin
Module: waldur_freeipa.views
Description:
Raise exception if extension is disabled
Base classes: ConstanceCheckExtensionMixin
LLMConfigurationMixin
Module: waldur_mastermind.chat.views
Description:
Validates that LLM chat is enabled and properly configured. Extends ConstanceCheckExtensionMixin to check LLM_CHAT_ENABLED flag.
Base classes: ConstanceCheckExtensionMixin
PeriodMixin
Module: waldur_mastermind.invoices.models
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
ConnectedResourceMixin
Module: waldur_mastermind.marketplace.admin
Description:
Protects object from modification if there are connected resources.
ParentInlineMixin
Module: waldur_mastermind.marketplace.admin
Description:
Mixin to get parent object from request in Django admin inline views.
OfferingFilterMixin
Module: waldur_mastermind.marketplace.filters
Description:
Mixin to provide common offering-related filters.
Base classes: FilterSet
CostEstimateMixin
Module: waldur_mastermind.marketplace.models
Description:
Mixin for cost estimation functionality.
Provides cost estimation with plan-based calculations and policy validation. Used for calculating costs based on limits and plans with policy compliance checking.
Base classes: Model
ResourceDetailsMixin
Module: waldur_mastermind.marketplace.models
Description:
Mixin combining resource details with cost estimation.
Provides comprehensive resource details including cost estimation, safe attributes, and end date management. Used for resource lifecycle management and billing calculations.
Base classes: SafeAttributesMixin, CostEstimateMixin, NameMixin, SlugMixin, DescribableMixin
SafeAttributesMixin
Module: waldur_mastermind.marketplace.models
Description:
Mixin for safe attribute handling.
Provides safe attribute functionality excluding secret attributes. Used for secure attribute access that filters out sensitive information like passwords and credentials.
Base classes: Model
ConnectedOfferingDetailsMixin
Module: waldur_mastermind.marketplace.views
Description:
Mixin to provide offering details action for connected resources.
PublicViewsetMixin
Module: waldur_mastermind.marketplace.views
Description:
Mixin to allow anonymous access to offerings when configured.
TenantMixin
Module: waldur_mastermind.marketplace_openstack.processors
Description: No description available.
SelectiveDNSMockMixin
Module: waldur_mastermind.marketplace_remote.tests.dns_utils
Description:
Mixin class that provides selective DNS mocking for test classes.
Usage:
1 2 3 4 | |
ContainerExecutorMixin
Module: waldur_mastermind.marketplace_script.utils
Description:
Mixin to execute scripts in containers for marketplace script processing.
EstimatedCostPolicyMixin
Module: waldur_mastermind.policy.models
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: PeriodMixin
OfferingPolicySerializerMixin
Module: waldur_mastermind.policy.serializers
Description:
This mixin provides several extensions to stock Serializer class:
- Add extra fields to serializer from dependent applications in a way
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
- Declaratively add attributes fields of related entities for ModelSerializers.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | |
- Protect some fields from change.
1 2 3 4 5 6 7 | |
- This mixin overrides "get_extra_kwargs" method and puts "view_name" to extra_kwargs
or uses URL name specified in a model of serialized object.
Base classes: AugmentedSerializerMixin
ProposalComplianceTestMixin
Module: waldur_mastermind.proposal.tests.test_proposal_compliance
Description:
Common setup for proposal compliance tests.
InvitationAcceptanceMixin
Module: waldur_mastermind.proposal.views
Description:
Mixin providing common logic for accepting/declining reviewer pool invitations.
Used by both CallReviewerPoolViewSet and PublicReviewerInvitationViewSet to avoid code duplication.
BackendNameMixin
Module: waldur_mastermind.support.models
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
FileMixin
Module: waldur_mastermind.support.models
Description:
Mixin to provide file-related functionality and properties.
CheckExtensionMixin
Module: waldur_mastermind.support.views
Description:
Raise exception if extension is disabled
Base classes: ConstanceCheckExtensionMixin
UsageMixin
Module: waldur_openportal.models
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
ActionDetailsMixin
Module: waldur_openstack.admin
Description:
Encapsulate all admin options and functionality for a given model.
Base classes: ModelAdmin
ImageMetadataMixin
Module: waldur_openstack.admin
Description:
Encapsulate all admin options and functionality for a given model.
Base classes: ModelAdmin
MetadataMixin
Module: waldur_openstack.admin
Description:
Encapsulate all admin options and functionality for a given model.
Base classes: ModelAdmin
TenantQuotaMixin
Module: waldur_openstack.models
Description:
It allows to update both service settings and shared tenant quotas.
Base classes: SharedQuotaMixin
LimitedPerTypeThrottleMixin
Module: waldur_openstack.tasks
Description: No description available.
TenantMixin
Module: waldur_openstack.tests.factories
Description: No description available.
DataciteMixin
Module: waldur_pid.mixins
Description:
A marker model for models that can be registered with PIDs and referred to in a Datacite PID way.
Base classes: Model
RoleMixin
Module: waldur_rancher.models
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
SettingsMixin
Module: waldur_rancher.models
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
SyncDestroyMixin
Module: waldur_rancher.views
Description: No description available.
YamlMixin
Module: waldur_rancher.views
Description: No description available.
UsageMixin
Module: waldur_slurm.models
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
VirtualMachineMixin
Module: waldur_vmware.models
Description:
Make subclasses preserve the alters_data attribute on overridden methods.
Base classes: Model
Models
Structure application models
classDiagram
direction TB
class OrganizationGroup {
+int id [PK]
+string name
+string uuid
+OrganizationGroup parent [FK]
}
class Customer {
+int id [PK]
+AutoCreatedField created
+AutoLastModifiedField modified
+image image
+string description
+string name
+string slug
+string uuid
+JSONField user_affiliations
+JSONField user_email_patterns
+JSONField user_identity_sources
+JSONField user_nationalities
+JSONField user_organization_types
+JSONField user_assurance_levels
+float latitude
+float longitude
+string vat_code
+string vat_name
+string vat_address
+string country
+string native_name
+string abbreviation
+string contact_details
+string agreement_number
+int sponsor_number
+string email
+string phone_number
+string access_subnets
+string backend_id
+string registration_code
+string homepage
+string domain
+string address
+string postal
+string bank_name
+string bank_account
+string notification_emails
+int max_service_accounts
+datetime accounting_start_date
+decimal default_tax_percent
+bool blocked
+bool archived
+bool display_billing_info_in_projects
+Checklist project_metadata_checklist [FK]
+int grace_period_days
+OrganizationGroup organization_groups
}
class ProjectType {
+int id [PK]
+string description
+string name
+string uuid
}
class Project {
+int id [PK]
+AutoCreatedField created
+AutoLastModifiedField modified
+bool is_removed
+image image
+string description
+string slug
+string uuid
+string backend_id
+JSONField user_affiliations
+JSONField user_email_patterns
+JSONField user_identity_sources
+JSONField user_nationalities
+JSONField user_organization_types
+JSONField user_assurance_levels
+int max_service_accounts
+string oecd_fos_2007_code
+string name
+date start_date
+date end_date
+User end_date_requested_by [FK]
+ProjectType type [FK]
+bool is_industry
+Customer customer [FK]
+string kind
+JSONField termination_metadata
+string staff_notes
+int grace_period_days
}
Customer "*" -- "*" OrganizationGroup : organization_groups
OrganizationGroup "*" -- "1" OrganizationGroup : parent
Project "*" -- "1" Customer : customer
Project "*" -- "1" ProjectType : type
Project "*" -- "1" User : end_date_requested_by
Permissions application models
classDiagram
direction TB
class Role {
+int id [PK]
+string description
+string uuid
+string name
+bool is_system_role
+bool is_active
+ContentType content_type [FK]
}
class UserRole {
+int id [PK]
+AutoCreatedField created
+AutoLastModifiedField modified
+string uuid
+ContentType content_type [FK]
+int object_id
+User user [FK]
+Role role [FK]
+User created_by [FK]
+datetime expiration_time
+bool is_active
}
class RolePermission {
+int id [PK]
+Role role [FK]
+string permission
}
RolePermission "*" -- "1" Role : role
UserRole "*" -- "1" Role : role
UserRole "*" -- "1" User : created_by
UserRole "*" -- "1" User : user
Marketplace category models
classDiagram
direction TB
class CategoryGroup {
+int id [PK]
+AutoCreatedField created
+AutoLastModifiedField modified
+string uuid
+string title
+file icon
+string description
}
class Category {
+int id [PK]
+AutoCreatedField created
+AutoLastModifiedField modified
+string uuid
+string backend_id
+string title
+file icon
+string description
+bool default_vm_category
+bool default_volume_category
+bool default_tenant_category
+CategoryGroup group [FK]
}
class CategoryColumn {
+int id [PK]
+string uuid
+Category category [FK]
+int index
+string title
+string attribute
+string widget
}
class CategoryComponent {
+int id [PK]
+string description
+string uuid
+string name
+string type
+string measured_unit
+Category category [FK]
}
class CategoryComponentUsage {
+int id [PK]
+ContentType content_type [FK]
+int object_id
+CategoryComponent component [FK]
+date date
+BigIntegerField reported_usage
+BigIntegerField fixed_usage
}
Category "*" -- "1" CategoryGroup : group
CategoryColumn "*" -- "1" Category : category
CategoryComponent "*" -- "1" Category : category
CategoryComponentUsage "*" -- "1" CategoryComponent : component
Marketplace catalog models
classDiagram
direction TB
class Section {
+AutoCreatedField created
+AutoLastModifiedField modified
+string key [PK]
+string title
+Category category [FK]
+bool is_standalone
}
class Attribute {
+AutoCreatedField created
+AutoLastModifiedField modified
+string key [PK]
+string title
+Section section [FK]
+string type
+bool required
+JSONField default
}
class AttributeOption {
+int id [PK]
+Attribute attribute [FK]
+string key
+string title
}
class Offering {
+int id [PK]
+AutoCreatedField created
+AutoLastModifiedField modified
+image image
+string description
+string name
+string slug
+string uuid
+string backend_id
+ContentType content_type [FK]
+int object_id
+JSONField backend_metadata
+float latitude
+float longitude
+string datacite_doi
+int citation_count
+string error_message
+file thumbnail
+string remote_image_uuid
+string full_description
+string vendor_details
+string getting_started
+string integration_guide
+Category category [FK]
+Checklist compliance_checklist [FK]
+Customer customer [FK]
+Project project [FK]
+Offering parent [FK]
+JSONField attributes
+JSONField options
+JSONField resource_options
+JSONField plugin_options
+JSONField secret_options
+string privacy_policy_link
+string country
+string type
+FSMIntegerField state
+string paused_reason
+bool shared
+bool billable
+bool support_per_user_consumption_limitation
+string access_url
+OrganizationGroup organization_groups
+Tag tags
}
class OfferingComponent {
+int id [PK]
+string description
+string uuid
+string backend_id
+ContentType content_type [FK]
+int object_id
+string article_code
+string name
+string type
+string measured_unit
+Offering offering [FK]
+CategoryComponent parent [FK]
+string billing_type
+string limit_period
+int limit_amount
+int unit_factor
+int max_value
+int min_value
+int max_available_limit
+bool is_boolean
+int default_limit
+bool is_prepaid
+OfferingComponent overage_component [FK]
+int min_prepaid_duration
+int max_prepaid_duration
}
Attribute "*" -- "1" Section : section
AttributeOption "*" -- "1" Attribute : attribute
Offering "*" -- "1" Offering : parent
OfferingComponent "*" -- "1" Offering : offering
OfferingComponent "*" -- "1" OfferingComponent : overage_component
Marketplace provisioning models
classDiagram
direction TB
class Plan {
+int id [PK]
+AutoCreatedField created
+AutoLastModifiedField modified
+string description
+string name
+string uuid
+string backend_id
+ContentType content_type [FK]
+int object_id
+decimal unit_price
+string unit
+string article_code
+Offering offering [FK]
+bool archived
+int max_amount
+OrganizationGroup organization_groups
}
class PlanComponent {
+int id [PK]
+Plan plan [FK]
+OfferingComponent component [FK]
+int amount
+decimal price
+decimal future_price
+int discount_threshold
+int discount_rate
}
class Resource {
+int id [PK]
+AutoCreatedField created
+AutoLastModifiedField modified
+string description
+string name
+string slug
+string uuid
+string error_message
+string error_traceback
+datetime last_sync
+string backend_id
+ContentType content_type [FK]
+int object_id
+JSONField backend_metadata
+decimal cost
+Plan plan [FK]
+JSONField limits
+Offering offering [FK]
+JSONField attributes
+date end_date
+User end_date_requested_by [FK]
+FSMIntegerField state
+Project project [FK]
+Resource parent [FK]
+JSONField report
+JSONField options
+JSONField current_usages
+string effective_id
+bool downscaled
+bool restrict_member_access
+bool paused
}
class Order {
+int id [PK]
+AutoCreatedField created
+AutoLastModifiedField modified
+string slug
+string uuid
+string error_message
+string error_traceback
+string backend_id
+decimal cost
+Plan plan [FK]
+JSONField limits
+Offering offering [FK]
+JSONField attributes
+int type
+Plan old_plan [FK]
+Project project [FK]
+Resource resource [FK]
+FSMIntegerField state
+string output
+User created_by [FK]
+User consumer_reviewed_by [FK]
+datetime consumer_reviewed_at
+User provider_reviewed_by [FK]
+datetime provider_reviewed_at
+string callback_url
+string termination_comment
+datetime completed_at
+date start_date
+string request_comment
+file attachment
}
Order "*" -- "1" Plan : old_plan
Order "*" -- "1" Plan : plan
Order "*" -- "1" Resource : resource
PlanComponent "*" -- "1" Plan : plan
Resource "*" -- "1" Plan : plan
Resource "*" -- "1" Resource : parentMulti-Client OIDC Authentication
Overview
Waldur Mastermind supports authentication from multiple client applications to a single backend. This feature allows different client domains to authenticate users via OIDC while ensuring users are redirected back to the correct client application after authentication.
How It Works
Authentication Flow
- User initiates login: User clicks "Sign in with OIDC" on a client application (e.g.,
https://app1.example.com) - Return URL stored: Mastermind stores either:
- The
return_urlquery parameter (if provided), OR - The HTTP Referer header (fallback)
- OIDC redirect: User is redirected to the OIDC provider for authentication
- OIDC callback: After authentication, OIDC provider redirects to Mastermind's callback URL
- Validation: Mastermind validates the stored return URL against the allowed redirects list
- User redirect: User is redirected back to the original client application with authentication token
Security
- Whitelist validation: Only pre-configured client domains are allowed
- Open redirect prevention: Referrer URLs are validated against the allowed list
- Base URL matching: Referrer validation uses only scheme and domain (path is ignored)
Validation Rules
The allowed_redirects field enforces strict security rules to prevent open redirect attacks and ensure proper authentication flow:
URL Format Requirements
- Origin-only URLs: Only scheme + domain + port allowed (no paths, query parameters, or fragments)
- Valid:
https://homeport.example.com - Invalid:
https://homeport.example.com/path,https://homeport.example.com?query=value - No trailing slashes: URLs must not end with
/ - Valid:
https://homeport.example.com - Invalid:
https://homeport.example.com/ - Exact matching: URLs are validated exactly as configured (no pattern matching or wildcards)
Security Requirements
- HTTPS-only: All URLs must use
https://scheme (exceptions: localhost and 127.0.0.1) - Valid:
https://homeport.example.com,http://localhost:8080,http://127.0.0.1:8000 - Invalid:
http://homeport.example.com,ftp://example.com - No wildcards: Domain patterns like
*.example.comare not supported - Complete URLs required: Each Homeport instance must be explicitly listed
Validation Examples
Valid configurations:
1 2 3 4 5 6 7 8 | |
Invalid configurations:
1 2 3 4 5 6 7 8 9 | |
Configuration
Identity Provider Setup
Configure the allowed_redirects field for each Identity Provider via the API:
1 2 3 4 5 6 7 8 9 10 11 12 | |
OIDC Provider Configuration
Important: All Homeport instances use the same callback URL on Mastermind:
1 | |
Register this single callback URL with your OIDC provider. No per-Homeport callback registration is required.
Homeport Integration
Note: This section provides API-level documentation for the backend feature. For complete frontend integration guide with code examples, see the Homeport repository documentation.
Homeport frontends can specify the return URL in two ways:
Method 1: Explicit return_url Parameter (Recommended)
Pass the return URL as a query parameter when redirecting to the OIDC init endpoint:
1 2 3 4 5 6 7 | |
Benefits: - More explicit and reliable - Works regardless of browser referrer policy - Easier to debug and test
Method 2: HTTP Referer Header (Automatic Fallback)
If no return_url is provided, Mastermind automatically uses the HTTP Referer header:
1 2 3 4 5 6 | |
Note: Ensure your Homeport has an appropriate referrer policy:
1 2 | |
Or in JavaScript:
1 2 3 4 | |
Priority
When both are available, return_url takes priority over the HTTP Referer header.
API Endpoints
Create/Update Identity Provider
Endpoint: POST /api/identity-providers/ or PATCH /api/identity-providers/{provider}/
Request Body:
1 2 3 4 5 6 7 8 9 10 11 | |
Field Validation:
- allowed_redirects must be a list of valid URLs
- Each URL must include scheme (http:// or https://) and domain
- URLs are normalized (trailing slashes are handled automatically)
Get Identity Providers
Endpoint: GET /api/identity-providers/
Response:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Behavior
With allowed_redirects Configured
- Matching referrer: User is redirected to the Homeport that initiated the request
- No referrer: User is redirected to the first URL in
allowed_redirects - Invalid referrer: Authentication fails with 401 error (referrer not in allowed list)
Without allowed_redirects (Backward Compatibility)
If allowed_redirects is empty or not set, the system falls back to the HOMEPORT_URL constance setting:
1 2 3 4 | |
This maintains backward compatibility with existing single-Homeport deployments.
Migration Guide
Upgrading from Single Homeport
-
Run migrations:
1python manage.py migrate waldur_auth_social -
Update Identity Provider via API:
1 2 3 4 5 6
curl -X PATCH https://api.waldur.example.com/api/identity-providers/keycloak/ \ -H "Authorization: Token YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "allowed_redirects": ["https://homeport1.example.com"] }' -
Add additional Homeports as needed:
1 2 3 4 5 6 7 8 9
curl -X PATCH https://api.waldur.example.com/api/identity-providers/keycloak/ \ -H "Authorization: Token YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "allowed_redirects": [ "https://homeport1.example.com", "https://homeport2.example.com" ] }'
Adding a New Homeport
- Configure your new Homeport to use the same Mastermind API URL
- Add the new Homeport URL to
allowed_redirects:1 2 3 4 5 6
{ "allowed_redirects": [ "https://existing-homeport.com", "https://new-homeport.com" ] } - No OIDC provider reconfiguration needed (callback URL remains the same)
Examples
Example 1: University with Multiple Portals
1 2 3 4 5 6 7 8 | |
Example 2: Multi-Tenant SaaS
1 2 3 4 5 6 7 8 | |
Example 3: Development and Production
1 2 3 4 5 6 7 8 | |
Troubleshooting
Error: "Return URL domain is not in the allowed redirects list"
Cause: The Homeport URL that initiated the authentication is not in the allowed_redirects list, or the URL format is invalid.
Solution: Add the Homeport URL to the Identity Provider's allowed_redirects with correct format:
1 2 3 4 5 6 7 | |
Important: Ensure URLs are normalized:
- Use https://homeport.com not https://homeport.com/
- Use HTTPS except for localhost/127.0.0.1
- Include only origin (no paths or query parameters)
Users redirected to wrong Homeport
Cause: Referrer header not being sent by the browser.
Solutions:
1. Ensure Homeport is setting proper referrer policy
2. Check that the login link properly navigates to the Mastermind OIDC init URL
3. If referrer is unavailable, users will be redirected to the first URL in allowed_redirects
Backward compatibility issues
Cause: Existing deployment not configured with allowed_redirects.
Solution: The system automatically falls back to HOMEPORT_URL constance setting when allowed_redirects is empty. No action required unless you want to enable multi-Homeport support.
Technical Details
Database Schema
1 2 3 4 5 6 7 8 9 10 11 12 | |
Session Storage
During authentication, the following session keys are used:
- oidc_state: CSRF protection token
- oidc_code_verifier: PKCE code verifier (if PKCE enabled)
- oidc_referrer: HTTP Referer header from the init request
URL Normalization
Referrer URLs are normalized for comparison:
- Scheme and domain are extracted (e.g., https://homeport.com/login → https://homeport.com)
- Trailing slashes are handled consistently
- Path, query, and fragment components are ignored for validation
API Reference
IdentityProvider Model Fields
| Field | Type | Description |
|---|---|---|
provider |
String | Provider identifier (tara, keycloak, eduteams) |
allowed_redirects |
JSON Array | List of allowed redirect URLs (origin-only, no trailing slashes) |
client_id |
String | OIDC client ID |
client_secret |
String | OIDC client secret |
discovery_url |
String | OIDC discovery endpoint |
is_active |
Boolean | Whether provider is enabled |
Field Validation Rules
The allowed_redirects field enforces strict validation:
- Format: Must be a JSON array of strings
- URL structure: Each entry must be origin-only (scheme + domain + optional port)
- HTTPS requirement: Must use
https://(excepthttp://localhostorhttp://127.0.0.1) - No trailing slashes: URLs must not end with
/ - No paths/query/fragments: Only the origin part is allowed
- Exact matching: No wildcard or pattern matching support
- Empty arrays: Valid (falls back to
HOMEPORT_URLsetting)
OIDC Claim Discovery and Mapping Wizard
Waldur provides API endpoints to help administrators discover available OIDC claims from identity providers and generate appropriate attribute mappings.
Discover OIDC Metadata
Fetch the OIDC discovery document and get suggested claim mappings for Waldur user fields.
Endpoint: POST /api/identity-providers/discover_metadata/
Permissions: Staff only
Request:
1 2 3 4 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
Response Fields:
| Field | Description |
|---|---|
claims_supported |
Claims the OIDC provider can return (from discovery document) |
scopes_supported |
Scopes the OIDC provider supports |
endpoints |
OIDC endpoints extracted from discovery document |
waldur_fields |
Waldur User model fields with suggested OIDC claim mappings |
waldur_fields[].field |
Waldur User model field name |
waldur_fields[].description |
Human-readable field description |
waldur_fields[].suggested_claims |
Ordered list of OIDC claims that could map to this field |
waldur_fields[].available_claims |
Claims from this IdP that match the suggestions |
suggested_scopes |
Recommended scopes to request based on available claims |
Generate Default Mapping
Generate a ready-to-use attribute_mapping configuration based on IdP's supported claims.
Endpoint: POST /api/identity-providers/generate-mapping/
Permissions: Staff only
Request:
1 2 3 4 | |
Response:
1 2 3 4 5 6 7 8 9 10 | |
The generated mapping can be used directly when creating or updating an identity provider.
Wizard Workflow
- Discover: Call
discover_metadatawith the IdP's discovery URL - Review: Examine available claims and suggested mappings
- Generate: Call
generate-mappingto get a ready-to-use configuration - Customize: Modify the generated mapping if needed
- Create: Use the mapping when creating the identity provider
Example: Setting Up a New Identity Provider
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
Claim Mapping Priority
When generating suggestions, claims are prioritized in this order:
- Existing provider defaults: Claims from Waldur's built-in provider configurations (TARA, eduTEAMS, Keycloak)
- Standard OIDC claims: Common OIDC claim names (e.g.,
given_name,email) - SCHAC/eduPerson claims: Research and education federation attributes
This ensures generated mappings are compatible with known working configurations.
Supported Waldur User Fields
The following user fields can be mapped from OIDC claims:
| Field | Common OIDC Claims | Description |
|---|---|---|
first_name |
given_name |
User's first/given name |
last_name |
family_name |
User's last/family name |
email |
email, mail |
User's email address |
organization |
schac_home_organization, org |
Organization name |
affiliations |
voperson_external_affiliation |
Organizational affiliations |
civil_number |
sub, schacPersonalUniqueID |
National identity number |
phone_number |
phone_number |
Phone number |
birth_date |
birthdate |
Date of birth |
gender |
gender |
Gender (ISO 5218) |
nationality |
schacCountryOfCitizenship |
Citizenship country code |
eduperson_assurance |
eduperson_assurance |
Identity assurance level |
For a complete list, see User Profile Attributes.
Notes on claims_supported
The claims_supported field in OIDC discovery is optional per the specification. If an IdP does not provide this field:
claims_supportedwill be an empty array in the responseavailable_claimsfor each Waldur field will also be empty- You can still manually configure
attribute_mappingbased on IdP documentation
In such cases, consider performing a test authentication to discover actual claims returned by the IdP's userinfo endpoint.
See Also
Offering Compliance API Documentation
Offering compliance functionality enables service providers to define and track compliance requirements for their marketplace offerings. Users of these offerings must complete compliance checklists, and service providers can monitor completion status across all their offerings.
Overview
The offering compliance system allows service providers to:
- Define compliance checklists for their offerings
- Track user compliance across all offerings
- Monitor completion rates and identify users needing attention
- Ensure regulatory and organizational compliance requirements are met
Architecture
The system consists of three main components:
- Compliance Checklists - Customizable questionnaires attached to offerings
- Offering Users - Users who have access to offerings and must complete compliance
- Service Provider Management - Dashboard and APIs for compliance monitoring
Configuration
Setting Up Offering Compliance
1. Create a Compliance Checklist
First, create a checklist with type offering_compliance:
1 2 3 4 5 6 7 8 9 | |
2. Add Questions to the Checklist
1 2 3 4 5 6 7 8 9 10 11 | |
3. Assign Checklist to Offering
Attach the compliance checklist to an offering:
1 2 3 4 5 6 7 | |
4. Remove Checklist from Offering
Remove the compliance checklist from an offering:
1 2 3 4 5 6 7 | |
API Endpoints
Checking Offering Compliance Requirements
Before accessing compliance-specific endpoints, you can check if an offering has compliance requirements using the standard offering API.
Get Offering Details
1 | |
Response includes:
1 2 3 4 5 6 | |
Field Description:
| Field | Type | Description |
|---|---|---|
has_compliance_requirements |
Boolean | Indicates whether this offering requires users to complete compliance checklists |
Usage:
true- This offering requires compliance. Users must complete checklists before using the service.false- This offering has no compliance requirements. Users can use the service without additional checklists.
For Offering Users
These endpoints allow offering users to view and complete their compliance requirements.
Base URL Pattern
1 | |
1. Get Compliance Checklist
Retrieves the compliance checklist for an offering user, including all questions and existing answers.
1 2 | |
Permissions Required:
- The authenticated user must be the offering user
- Service provider staff with UPDATE_OFFERING_USER permission
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | |
2. Get Completion Status
Retrieves only the completion status for the offering user's compliance.
1 2 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
3. Submit Compliance Answers
Submit or update answers to compliance questions.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Answer Data Formats:
| Question Type | Format | Example |
|---|---|---|
text_input |
String | "Short text answer" |
text_area |
String | "Detailed compliance information" |
boolean |
Boolean | true or false |
number |
Number | 42 or 3.14 |
single_select |
Array with one UUID | ["option-uuid"] |
multi_select |
Array with multiple UUIDs | ["option-1", "option-2"] |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 | |
For Service Providers
These endpoints allow service providers to monitor and manage compliance across all their offerings.
Base URL Pattern
1 | |
Checklist Completions API
This endpoint provides a comprehensive view of checklist completions across all offerings that the current user has access to.
List All Checklist Completions
Get a paginated list of all checklist completions for offering users that the current user is allowed to see.
1 2 | |
Permissions:
- Regular users: See only their own checklist completions
- Staff users: See all checklist completions
- Support users: See all checklist completions
- Service providers: See completions for offerings they manage
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
user_uuid |
UUID | Filter by specific user |
offering_uuid |
UUID | Filter by specific offering |
is_completed |
Boolean | Filter by completion status (true or false) |
o |
String | Order by field (modified, -modified, is_completed, -is_completed) |
page_size |
Integer | Number of results per page (default: 10, max: 300) |
Example Requests:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | |
Response Headers (Pagination):
| Header | Description |
|---|---|
X-Result-Count |
Total number of completions matching filters |
Link |
Navigation links for pagination (first, prev, next, last) |
Field Descriptions:
| Field | Type | Description |
|---|---|---|
uuid |
UUID | Unique identifier for the checklist completion |
offering_user_uuid |
UUID | UUID of the associated offering user |
offering_name |
String | Name of the offering |
offering_uuid |
UUID | UUID of the offering |
customer_provider_uuid |
UUID | UUID of the service provider customer |
customer_provider_name |
String | Name of the service provider customer |
checklist_uuid |
UUID | UUID of the compliance checklist |
checklist_name |
String | Name of the compliance checklist |
checklist_description |
String | Description of the compliance checklist |
is_completed |
Boolean | Whether all required questions are answered |
completion_percentage |
Float | Percentage of questions answered (0-100) |
unanswered_required_questions |
Integer | Count of required questions not yet answered |
requires_review |
Boolean | Whether any answers triggered review requirements |
reviewed_by |
UUID/null | UUID of user who reviewed (if reviewed) |
reviewed_at |
Datetime/null | When the completion was reviewed |
review_notes |
String | Notes from the reviewer |
created |
Datetime | When the completion was created |
modified |
Datetime | When the completion was last modified |
offering_user |
Object | Details about the offering user |
Use Cases:
- Service Provider Dashboard: Monitor compliance across all managed offerings
- User Dashboard: View personal compliance status across all services
- Compliance Reporting: Generate reports on completion rates and pending items
- Administrative Overview: Staff can see system-wide compliance status
Performance Notes:
This endpoint is optimized for performance with:
- Database query optimization to prevent N+1 problems
- Efficient filtering using database-level operations
- Proper pagination support for large datasets
- Cached relationship data to minimize database queries
1. Compliance Overview
Get aggregated compliance statistics for all offerings managed by the service provider.
1 2 | |
Permissions Required:
- Customer owner or staff with LIST_SERVICE_PROVIDER_CUSTOMERS permission
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
2. List Offering Users with Compliance Status
Get detailed compliance status for individual offering users.
1 2 | |
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
offering_uuid |
UUID | Filter by specific offering |
compliance_status |
String | Filter by status: completed, pending, no_checklist |
Example Request:
1 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
Workflow Examples
Complete User Compliance Flow
- Check if offering requires compliance
1 | |
Check the has_compliance_requirements field in the response.
- User receives offering access
-
When an offering user is created for an offering with compliance requirements, a compliance checklist completion is automatically created
-
User views compliance requirements (only if
has_compliance_requirementsistrue)
1 | |
- User submits compliance answers
1 | |
- Service provider monitors compliance
1 | |
Service Provider Monitoring Flow
- View overall compliance statistics
1 | |
- Get detailed checklist completions (Alternative comprehensive view)
1 | |
- Identify non-compliant users
1 | |
- Follow up with specific users
Use the user details from the response to send reminders or take action
User Dashboard Flow
- View personal compliance status across all services
1 | |
- Filter for pending completions
1 | |
- Access specific checklist for completion
1 | |
Lifecycle Management
Automatic Checklist Creation
When an offering user is created:
- System checks if the offering has a compliance checklist
- If present, creates a ChecklistCompletion object automatically
- Links it to the offering user via generic foreign key
Automatic Cleanup
When an offering user is deleted:
- Associated ChecklistCompletion is automatically deleted
- All related answers are cascade deleted
- No orphaned data remains
Error Handling
Common Error Responses
400 Bad Request - No Checklist Configured
1 2 3 | |
This occurs when trying to access compliance endpoints for an offering without a configured checklist.
403 Forbidden - Insufficient Permissions
1 2 3 | |
404 Not Found - Resource Not Found
1 2 3 | |
This can occur when:
- The offering user doesn't exist
- The service provider doesn't exist
- The user doesn't have access to the resource
Validation Errors
When submitting invalid answers:
1 2 3 4 5 6 7 8 9 | |
Integration Patterns
Frontend Integration
When displaying offerings in your application, use the has_compliance_requirements field to show appropriate UI elements:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Order Flow Integration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Service Provider Dashboard
Use the compliance overview endpoints to build monitoring dashboards:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
User Compliance Dashboard
Use the checklist completions endpoint to build user-facing compliance dashboards:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | |
Detailed Compliance Monitoring
Use filtering and pagination for detailed compliance monitoring:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | |
Best Practices
Service Provider Guidelines
- Define Clear Questions
- Use descriptive question text
- Mark truly required fields as required
-
Provide helpful guidance text where needed
-
Regular Monitoring
- Check compliance overview regularly
- Follow up with users who have pending compliance
-
Consider setting up automated reminders
-
Checklist Design
- Keep checklists concise and relevant
- Group related questions logically
- Use appropriate question types for each data point
For Developers
- Performance Optimization
- Use the
has_compliance_requirementsfield to avoid unnecessary API calls - Use the
compliance_overviewendpoint for dashboard views - Use the
/marketplace-offering-user-checklist-completions/endpoint for detailed monitoring - Apply filters to reduce data transfer and improve response times
- Use pagination parameters to manage large datasets efficiently
-
Cache compliance status where appropriate to reduce API calls
-
Error Handling
- Always check
has_compliance_requirementsbefore accessing compliance endpoints - Handle gracefully when compliance endpoints return 400 (no checklist configured)
- Handle permission errors gracefully (403 responses)
- Handle pagination limits and empty result sets
-
Provide clear feedback to users about their compliance status
-
Integration
- Check
has_compliance_requirementsin offering lists to show UI indicators - Only call compliance endpoints when
has_compliance_requirementsistrue - Use the checklist completions endpoint for cross-service compliance dashboards
- Implement filtering to show relevant compliance items to different user types
- Consider webhooks for compliance completion events
- Integrate with notification systems for reminders
-
Build comprehensive dashboards using both overview and detailed endpoints
-
API Usage Patterns
- User Dashboards: Use
/marketplace-offering-user-checklist-completions/to show personal compliance status - Service Provider Monitoring: Combine
compliance_overviewand checklist completions for complete monitoring - Administrative Views: Use filtering by
user_uuidandoffering_uuidfor targeted views - Reporting: Use ordering and filtering to generate compliance reports
Migration Guide
Adding Compliance to Existing Offerings
- Create the compliance checklist
- Update the offering with the checklist UUID
- Background task automatically creates completions for all existing offering users
- New offering users will get compliance requirements automatically
- Users can immediately begin completing their compliance requirements
Removing Compliance Requirements
- Set offering's
compliance_checklistto null - Background task automatically removes ALL existing completions and user data
- No audit trail is preserved - all compliance data is permanently deleted
- No new completions will be created
Changing Compliance Requirements
- Update the offering with the new checklist UUID
- Background task automatically removes old completions and creates new ones
- Users start fresh with the new compliance requirements
- Previous compliance work is permanently deleted
Security Considerations
- Data Privacy
- Compliance data is only visible to authorized users
- Service providers can only see data for their own offerings
-
Users can only see and edit their own compliance data
-
Audit Trail
- All answer submissions are tracked with timestamps
- User information is preserved with each answer
-
Changes are logged for compliance auditing
-
Permission Model
- Based on existing Waldur permission system
- Respects customer and project boundaries
- Service provider permissions are strictly scoped
Compliance Lifecycle Management
When compliance requirements change for an offering, the system automatically manages checklist completions for existing users through background processing to ensure scalability and performance.
Lifecycle Scenarios
The system handles three main compliance lifecycle scenarios:
1. Adding Compliance Requirements
Scenario: Offering transitions from no compliance requirements to having compliance requirements.
Trigger: compliance_checklist field changes from None to a checklist
Behavior:
- Background task creates ChecklistCompletion objects for all existing OfferingUsers
- New users get completions automatically during OfferingUser creation
- Processing is done in batches of 100 users for performance
Example:
1 2 3 4 | |
2. Removing Compliance Requirements
Scenario: Offering transitions from having compliance requirements to no requirements.
Trigger: compliance_checklist field changes from a checklist to None
Behavior:
- Background task removes ALL ChecklistCompletion objects for the offering
- All user answers and completion data are permanently deleted
- Users get a clean slate with no compliance history
- Processing is done in batches for performance
Example:
1 2 3 4 | |
3. Changing Compliance Requirements
Scenario: Offering switches from one checklist to a different checklist.
Trigger: compliance_checklist field changes from checklist_A to checklist_B
Behavior:
- Background task removes all old ChecklistCompletion objects (checklist_A)
- Background task creates fresh ChecklistCompletion objects (checklist_B)
- Users start fresh with the new compliance requirements
- No historical data from the previous checklist is retained
- Processing is done in batches for both removal and creation
Example:
1 2 3 4 | |
Background Processing
All compliance lifecycle changes are processed asynchronously using Celery tasks to ensure:
- Non-blocking Operations: Admin interface remains responsive
- Scalability: Can handle thousands of users efficiently
- Reliability: Automatic retry on failure
- Progress Tracking: Comprehensive logging of all operations
Task Types
create_checklist_completions_for_offering_users- Creates completions for existing users when compliance is added
- Processes users in batches of 100
-
Prevents duplicates for users who already have completions
-
remove_checklist_completions_for_offering_users - Removes all completions when compliance is removed
- Processes deletions in batches of 100
-
Permanently deletes all associated user answers
-
replace_checklist_completions_for_offering_users - Replaces completions when checklist is changed
- First removes old completions, then creates new ones
- Ensures atomic operation per batch
Performance Characteristics
| Scenario | Users | Processing Time | Memory Usage | Blocking |
|---|---|---|---|---|
| Add compliance | 5,000 | ~2-5 minutes | Low (batched) | Non-blocking |
| Remove compliance | 5,000 | ~1-3 minutes | Low (batched) | Non-blocking |
| Change compliance | 5,000 | ~3-6 minutes | Low (batched) | Non-blocking |
Monitoring and Logging
All compliance lifecycle operations are logged with the following information:
- Start/completion timestamps
- Number of users processed
- Batch progress updates
- Error details if any failures occur
- Total counts of completions created/removed
Example Log Output:
1 2 3 4 5 6 | |
Data Cleanup Policy
Important: The system follows a clean slate policy for compliance data:
- Removing compliance: All user completion data is permanently deleted
- Changing compliance: Previous compliance data is removed, fresh start with new requirements
- No audit trail: Historical compliance data is not preserved for removed/changed requirements
This approach ensures:
- ✅ Clean user experience - No confusing historical compliance records
- ✅ Clear requirements - Users only see current compliance needs
- ✅ Performance - No accumulation of obsolete compliance data
- ❌ No historical audit - Previous compliance work is not preserved
Migration Scenarios
Scenario A: Temporary Compliance Removal
1 2 | |
Result: Users start fresh, previous answers are lost
Scenario B: Compliance Checklist Evolution
1 | |
Result: Users must complete new security_v2 requirements from scratch
Scenario C: Compliance Requirement Changes
1 | |
Result: Users transition to completely new compliance domain
API Impact
When compliance lifecycle changes occur, the following APIs are affected:
Immediate Changes
/api/marketplace-public-offerings/{uuid}/-has_compliance_requirementsfield updates immediately/api/marketplace-provider-offerings/{uuid}/-compliance_checklistfield updates immediately
API Changes During Processing
/api/marketplace-offering-user-checklist-completions/- Results change after background tasks complete/api/marketplace-offering-users/{uuid}/checklist/- May return 404 if completions are being processed
Lifecycle Management Best Practices
Service Provider Lifecycle Management
- Plan Compliance Changes: Understand that removing/changing compliance deletes user data
- Communicate Changes: Inform users before making compliance changes
- Timing: Make compliance changes during maintenance windows if possible
- Monitor Progress: Check logs to ensure background tasks complete successfully
For Integrations
- Handle Async Operations: Account for background processing delays
- Error Handling: Handle cases where completions might be temporarily unavailable
- Polling: Use appropriate intervals when checking completion status after changes
- Graceful Degradation: Show appropriate messages when compliance is being processed
For Users
- Save Work Frequently: Complete compliance promptly as requirements may change
- Expect Clean Slate: Understand that compliance changes mean starting fresh
- Current Requirements Only: Focus on current compliance, not historical requirements
Offering Tags
Tags provide a flexible way to categorize and filter offerings in the Waldur marketplace. Unlike categories (which are hierarchical and managed by administrators), tags are free-form labels that service providers can create and assign to their offerings.
Overview
Tags enable:
- Discovery: Users can filter offerings by tags to find relevant services
- Organization: Service providers can group related offerings across categories
- Flexibility: Tags can be created on-demand without administrator intervention
Permission Model
Tags have a permission model that balances flexibility with control:
| Action | Staff | Service Provider (own tag) | Service Provider (other's tag) | Regular User |
|---|---|---|---|---|
| List/Retrieve tags | Yes | Yes | Yes | Yes |
| Create tag | Yes | Yes | Yes | No |
| Update tag | Yes | Yes | No | No |
| Delete tag | Yes | Yes | No | No |
| Add tag to offering | Yes | Yes (own offering) | Yes (own offering) | No |
Key Rules
- Anyone authenticated can view tags - Tags are visible to all authenticated users
- Service providers can create tags - Users belonging to organizations with a ServiceProvider registration can create new tags
- Ownership control for modifications - Only the tag creator (or staff) can update or delete a tag
- Tag assignment follows offering permissions - Users who can edit an offering can assign any existing tag to it
Tag Model
Each tag has the following attributes:
| Field | Type | Description |
|---|---|---|
uuid |
UUID | Unique identifier |
name |
String (100 chars) | Unique tag name |
description |
Text | Optional description |
created |
DateTime | When the tag was created |
created_by |
User FK | User who created the tag |
API Endpoints
Tag Management
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Assigning Tags to Offerings
1 2 3 4 5 6 7 8 9 10 11 | |
Filtering Offerings by Tags
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Response Format
Tag List/Detail Response
1 2 3 4 5 6 7 8 9 10 | |
Offering Response with Tags
1 2 3 4 5 6 7 8 | |
Offering Count Visibility
The offering_count field in tag responses is filtered based on user permissions:
| User Type | Visible Offerings |
|---|---|
| Staff/Support | All offerings with this tag |
| Service Provider | Own offerings (any state) + Other offerings in ACTIVE, PAUSED, or ARCHIVED states |
| Regular User | Offerings in ACTIVE, PAUSED, or ARCHIVED states |
This ensures service providers don't see competitor's draft offerings in the count.
Filter Options
Tag Filter Parameters
| Parameter | Description |
|---|---|
name |
Filter tags by name (case-insensitive contains) |
created_by |
Filter tags by creator's UUID |
Offering Filter Parameters
| Parameter | Description |
|---|---|
tag |
Filter offerings by tag UUID (multiple allowed, OR logic) |
tag_name |
Filter offerings by tag name (multiple allowed, OR logic) |
tags_and |
Filter offerings by comma-separated tag UUIDs (AND logic) |
tag_names_and |
Filter offerings by comma-separated tag names (AND logic, exact match) |
Use Cases
1. Technology Stack Tags
Service providers can tag offerings by technology:
1 2 3 4 5 6 7 8 | |
2. Capability Tags
Tag offerings by their capabilities:
1 2 3 | |
3. Compliance Tags
Indicate compliance certifications:
1 2 3 | |
4. Geographic Tags
Tag by data center location:
1 2 3 | |
Best Practices
- Use lowercase names - Keep tag names lowercase for consistency
- Use hyphens for multi-word tags - e.g.,
high-memoryinstead ofhigh memory - Keep names concise - Short, descriptive names work best for filtering
- Add descriptions - Help users understand what the tag represents
- Avoid duplicates - Check existing tags before creating new ones
- Coordinate with other providers - Consistent tagging across providers improves discovery
Marketplace Offering Visibility
This document describes how marketplace offering visibility can be configured to control which offerings regular users can see.
Overview
The RESTRICTED_OFFERING_VISIBILITY_MODE Constance setting controls how offerings with restrictions (organization group-limited plans) are displayed to regular users. Staff and support users always see all offerings regardless of this setting.
Configuration
The setting is configured in the backend via Constance (Admin > Config > Marketplace section):
Setting name: RESTRICTED_OFFERING_VISIBILITY_MODE
Default value: show_all
Visibility Modes
| Mode | Description |
|---|---|
show_all |
Default behavior. Show all shared offerings. Users see restricted offerings but cannot order if they lack access to any plans. |
show_restricted_disabled |
Show all offerings, but inaccessible ones are visually marked as disabled with a lock icon and tooltip explaining why the user cannot order. |
hide_inaccessible |
Hide offerings where the user has no accessible plans (due to organization group restrictions). |
require_membership |
Most restrictive mode. Hide ALL offerings unless the user belongs to at least one organization or project. Users with membership then see only accessible offerings (same as hide_inaccessible). |
Key Behaviors Matrix
| User Type | show_all |
show_restricted_disabled |
hide_inaccessible |
require_membership |
|---|---|---|---|---|
| Anonymous | Shared only | Shared only | Shared only | Shared only |
| Staff/Support | All | All | All | All |
| Regular (no membership) | All shared | All shared (some disabled) | Only accessible | None |
| Regular (with membership) | All shared | All shared (some disabled) | Only accessible | Only accessible |
Notes
- Anonymous users are controlled by the separate
ANONYMOUS_USER_CAN_VIEW_OFFERINGSsetting - Staff/Support users always see all offerings regardless of the visibility mode
- "Accessible" means the user has at least one non-archived plan available (either public plans or plans whose organization groups include the user's organization)
- "Membership" means the user has a role in at least one organization, project, or offering
Frontend Behavior
show_restricted_disabled Mode
When this mode is active, the frontend:
- Checks the
is_accessiblefield returned by the API for each offering - For offerings where
is_accessible === false: - Applies a
disabledCSS class to gray out the card - Shows a lock icon with tooltip: "This offering is restricted. Contact your organization admin for access."
- Disables the "Deploy" button
Other Modes
For show_all, hide_inaccessible, and require_membership modes, the backend handles filtering - the frontend simply displays what the API returns.
API Changes
The PublicOfferingDetailsSerializer includes an is_accessible boolean field that indicates whether the current user can order the offering. This field is:
truefor staff/support users (always)trueif the user has at least one accessible, non-archived planfalseif all plans are restricted to organization groups the user doesn't belong to
Use Cases
Public Marketplace (default)
Use show_all for open marketplaces where users should see all available offerings and learn about restrictions when they try to order.
Enterprise with Soft Restrictions
Use show_restricted_disabled when you want users to be aware of offerings they cannot access (e.g., premium tiers) while clearly indicating they need to contact their admin for access.
Enterprise with Hard Restrictions
Use hide_inaccessible when users should only see offerings they can actually order, reducing confusion and support requests.
Closed Community
Use require_membership for portals where only registered organization members should browse offerings. New users without any affiliation see an empty marketplace until they're added to an organization.
Implementation Details
Backend Files
src/waldur_core/server/constance_settings.py- Setting definitionsrc/waldur_mastermind/marketplace/managers.py-filter_by_ordering_availability_for_user()methodsrc/waldur_mastermind/marketplace/serializers.py-is_accessiblefield inPublicOfferingDetailsSerializer
Frontend Files
src/auth/types.ts-OfferingVisibilityModetype andRESTRICTED_OFFERING_VISIBILITY_MODEin configsrc/marketplace/common/OfferingCard.tsx- Disabled display logic
Tests
Backend tests are in src/waldur_mastermind/marketplace/tests/test_offerings.py in the RestrictedOfferingVisibilityModeTest class.
Project and Resource Lifecycle Management
This document explains the lifecycle of projects and marketplace resources in Waldur, focusing on start/end dates, termination, and state transitions.
Project Lifecycle
Projects control the overall workspace for resources and define key temporal boundaries.
Project States and Dates
Projects have two key temporal fields:
start_date(optional): When project becomes active for resource provisioningend_date(optional): Inclusive termination date - all project resources scheduled for termination when reached
1 2 3 4 5 6 | |
Project Start Date Impact on Orders
Orders can be blocked by future project start dates. This also affects invitation processing where pending invitations wait for project activation:
sequenceDiagram
participant U as User
participant O as Order
participant P as Project
participant S as System
U->>O: Create Order
O->>P: Check project.start_date
alt Project start_date is future
O->>S: Set state PENDING_PROJECT
Note over O,S: Order waits for project activation
P->>S: Project activated (start_date cleared/reached)
S->>O: Transition to next approval step
else Project active or no start_date
O->>S: Proceed to next approval step
end
Project End Date Behavior
When a project reaches its end_date:
- Property
is_expiredreturnsTrue - All project resources are scheduled for termination
- New resource creation is blocked
Order State Machine
Orders progress through states that include project and start date validation:
stateDiagram-v2
[*] --> PENDING_CONSUMER : Order created
PENDING_CONSUMER --> PENDING_PROJECT : Consumer approves & project start date is future
PENDING_CONSUMER --> PENDING_PROVIDER : Consumer approves & project active
PENDING_CONSUMER --> PENDING_START_DATE : Consumer approves & no provider review & order start date is future
PENDING_CONSUMER --> CANCELED : Consumer cancels
PENDING_CONSUMER --> REJECTED : Consumer rejects
PENDING_PROJECT --> PENDING_PROVIDER: Project activates & provider review needed
PENDING_PROJECT --> PENDING_START_DATE: Project activates & no provider review & order start date is future
PENDING_PROJECT --> EXECUTING: Project activates & ready to process
PENDING_PROJECT --> CANCELED : Project issues
PENDING_PROVIDER --> PENDING_START_DATE : Provider approves & order start date is future
PENDING_PROVIDER --> EXECUTING : Provider approves & ready to process
PENDING_PROVIDER --> CANCELED : Provider cancels
PENDING_PROVIDER --> REJECTED : Provider rejects
PENDING_START_DATE --> EXECUTING : Start date reached
PENDING_START_DATE --> CANCELED : User cancels
EXECUTING --> DONE : Processing complete
EXECUTING --> ERRED : Processing failed
DONE --> [*]
ERRED --> [*]
CANCELED --> [*]
REJECTED --> [*]
Order State Impacts
| State | Description | Next Actions |
|---|---|---|
| PENDING_PROJECT | Waiting for project activation | Project start_date must be cleared/reached. Also blocks invitation processing |
| PENDING_START_DATE | Waiting for order start date | Order start_date must be reached |
| EXECUTING | Resource provisioning active | Processor creates/updates/terminates resource |
| DONE | Order completed successfully | Resource state updated, billing triggered |
| ERRED | Order failed | Manual intervention required |
| TERMINAL_STATES | {DONE, ERRED, CANCELED, REJECTED} |
No further state transitions |
Resource Lifecycle
Resources maintain independent lifecycle from orders but are constrained by project boundaries.
Resource States and Dates
Resources have temporal controls:
end_date(optional): Inclusive termination date - resource scheduled for termination when reachedstate: Current operational state affecting available operations
1 2 3 4 5 | |
Resource State Machine
stateDiagram-v2
[*] --> CREATING : Order approved & executing
CREATING --> OK : Provisioning success
CREATING --> ERRED : Provisioning failed
OK --> UPDATING : Update requested
OK --> TERMINATING : Deletion requested or end_date reached
UPDATING --> OK : Update success
UPDATING --> ERRED : Update failed
TERMINATING --> TERMINATED : Deletion success
TERMINATING --> ERRED : Deletion failed
ERRED --> OK : Error resolved
ERRED --> UPDATING : Retry update
ERRED --> TERMINATING : Force deletion
TERMINATED --> [*]
Resource End Date Behavior
When a resource reaches its end_date:
- Property
is_expiredreturnsTrue - Resource is scheduled for termination (transitions to
TERMINATING) - Billing stops when termination completes
Order Processing Flow
This sequence shows how orders create and manage resources:
sequenceDiagram
participant U as User
participant O as Order
participant P as Processor
participant R as Resource
participant B as Billing
U->>O: Create CREATE order
Note over O: Approval workflow (consumer/provider/project)
O->>P: process_order() when EXECUTING
P->>R: Create resource (state: CREATING)
alt Synchronous processing
P->>R: Set state OK
P->>B: Trigger billing for activated resource
P->>O: Set state DONE
else Asynchronous processing
P->>O: Keep state EXECUTING
Note over P: Backend processing continues
P->>R: Set state OK when complete
P->>B: Trigger billing for activated resource
P->>O: Set state DONE via callback
end
Termination Flows
Manual Resource Termination
sequenceDiagram
participant U as User
participant O as Order
participant P as Processor
participant R as Resource
participant B as Billing
U->>O: Create TERMINATE order
Note over O: Approval workflow
O->>P: process_order() when EXECUTING
P->>R: Set state TERMINATING
P->>R: Execute backend deletion
alt Success
P->>R: Set state TERMINATED
P->>B: Stop billing / create final invoice
P->>O: Set state DONE
else Failure
P->>R: Set state ERRED
P->>O: Set state ERRED
end
Automatic Termination (End Date Reached)
sequenceDiagram
participant S as System Task
participant R as Resource
participant O as Order
participant P as Processor
participant B as Billing
S->>R: Check end_date (daily task)
alt Resource end_date reached
S->>O: Create automatic TERMINATE order
O->>P: process_order() (auto-approved)
P->>R: Set state TERMINATING
P->>R: Execute backend deletion
P->>R: Set state TERMINATED
P->>B: Stop billing / create final invoice
P->>O: Set state DONE
end
Key Interaction Points
Project-Resource Constraints
- Resource creation blocked if project is expired (
project.end_datereached) - Project end date triggers termination of all project resources
- Project start date blocks order processing and invitation processing until project activates
Order-Resource Coordination
- CREATE orders generate resources when successfully executed
- UPDATE orders modify existing resource configuration and billing
- TERMINATE orders transition resources through deletion lifecycle
- Order failures leave resources in error states requiring manual intervention
Billing Integration
- Resource activation (CREATING → OK) triggers initial billing setup
- Resource termination (OK → TERMINATED) stops billing and creates final invoices
- Resource end dates coordinate with billing periods for accurate cost calculation
- Order completion ensures billing state consistency with resource lifecycle
This lifecycle management ensures consistent resource provisioning, proper billing coordination, and controlled termination across the Waldur marketplace ecosystem.
Project Metadata API Documentation
Project metadata functionality allows organizations to collect structured information about their projects using customizable checklists. This feature is built on top of the core checklist system and provides a standardized way to gather project details, compliance information, and other metadata.
Overview
Project metadata uses the checklist system to enable organizations to:
- Define custom metadata collection forms for their projects
- Ensure consistent data collection across all projects
- Track completion status of metadata requirements
- Manage access controls for viewing and editing metadata
Configuration
Setting Up Project Metadata
- Create a Project Metadata Checklist
First, create a checklist with type PROJECT_METADATA:
1 2 3 4 5 6 7 8 9 | |
- Add Questions to the Checklist
1 2 3 4 5 6 7 8 9 10 11 | |
- Assign Checklist to Customer
Assign the checklist to a customer to enable metadata collection for all their projects:
1 2 3 4 5 6 7 | |
API Endpoints
Project metadata endpoints are available at both project and customer levels:
Project-Level Endpoints
Base URL: /api/projects/<project-uuid>/
Customer-Level Compliance Endpoints
Base URL: /api/customers/<customer-uuid>/
These endpoints provide aggregated compliance information across all projects in a customer organization. All endpoints support efficient database-level pagination to handle large numbers of projects.
Customer-Level Compliance Overview
Get an overview of project metadata compliance across all customer projects.
1 2 | |
Permissions Required:
- Customer owner
- Customer support
- Staff user
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Customer-Level Compliance Projects List
Get paginated list of projects with their completion status.
1 2 | |
Query Parameters:
page- Page number (default: 1)page_size- Number of projects per page (default: 10, max: 300)
Permissions Required:
- Customer owner
- Customer support
- Staff user
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Response Headers:
X-Result-Count- Total number of projectsLink- Pagination links (first, prev, next, last)
Customer-Level Question Answers
Get paginated list of questions with answers across all projects.
1 2 | |
Query Parameters:
page- Page number (default: 1)page_size- Number of questions per page (default: 10, max: 300)
Permissions Required:
- Customer owner
- Customer support
- Staff user
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | |
Response Headers:
X-Result-Count- Total number of questionsLink- Pagination links (first, prev, next, last)
Enhanced Fields:
Each question and its answers now include additional metadata for better usability:
question_options- Available options for select-type questions (single_select, multi_select), empty array for other typesanswer_labels- Human-readable labels for select-type answers:- For
single_select: String with the selected option label - For
multi_select: Array of strings with selected option labels - For other question types:
null min_value- Minimum allowed value for number-type questions,nullfor other question typesmax_value- Maximum allowed value for number-type questions,nullfor other question types
Customer-Level Compliance Details
Get paginated detailed compliance information for each project.
1 2 | |
Query Parameters:
page- Page number (default: 1)page_size- Number of projects per page (default: 10, max: 300)
Permissions Required:
- Customer owner
- Customer support
- Staff user
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | |
Response Headers:
X-Result-Count- Total number of projectsLink- Pagination links (first, prev, next, last)
Answer Fields Description:
Each answer in the response includes both machine-readable and human-readable data:
question_type- The type of question (text_input, text_area, boolean, number, single_select, multi_select)question_options- Available options for select-type questions, empty array for other typesmin_value- Minimum allowed value for number-type questions,nullfor other question typesmax_value- Maximum allowed value for number-type questions,nullfor other question typesanswer_data- The raw answer data (UUIDs for select questions, direct values for others)answer_labels- Human-readable labels converted from UUIDs:- For
single_select: String with the selected option label - For
multi_select: Array of strings with selected option labels - For other question types:
null
Performance Notes
All customer-level compliance endpoints use database-level pagination for optimal performance:
- Efficient Data Loading: Only retrieves data for the current page, not all records
- Bulk Operations: Uses optimized database queries with
select_related()andprefetch_related() - Memory Efficient: Handles large numbers of projects without memory issues
- Pagination Headers: Returns
X-Result-Countheader with total count andLinkheader with navigation links
Available Actions
1. Get Project Metadata Checklist
Retrieves the metadata checklist for a project, including all questions and existing answers.
1 2 | |
Permissions Required:
- Project member (admin, manager, or member)
- Customer owner
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | |
2. Get Completion Status
Retrieves only the completion status information for the project metadata.
1 2 | |
Permissions Required:
- Project member (admin, manager, or member)
- Customer owner
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
3. Submit Metadata Answers
Submit or update answers to metadata questions.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Permissions Required:
- Customer owner
- Project manager
Answer Data Formats:
| Question Type | Format | Example |
|---|---|---|
text_input |
String | "Short text answer" |
text_area |
String | "Long text answer with multiple lines" |
boolean |
Boolean | true or false |
number |
Number | 42 or 3.14 |
single_select |
Array with one UUID | ["option-uuid"] |
multi_select |
Array with multiple UUIDs | ["option-uuid-1", "option-uuid-2"] |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Error Responses
Common Error Codes
400 Bad Request
1 2 3 | |
403 Forbidden
1 2 3 | |
404 Not Found
1 2 3 | |
Validation Errors
When submitting invalid answers:
1 2 3 4 5 6 7 8 9 | |
Permission Model
The project metadata system uses a granular permission model:
View Permissions (checklist, completion_status)
- Project Admin: Can view metadata for their projects
- Project Manager: Can view metadata for their projects
- Project Member: Can view metadata for their projects
- Customer Owner: Can view metadata for all projects in their organization
Update Permissions (submit_answers)
- Customer Owner: Can update metadata for all projects in their organization
- Project Manager: Can update metadata for their projects
Administrative Permissions (checklist management)
- Staff Users: Can create and manage checklists
- Customer Owners: Can assign checklists to their organization
Lifecycle Management
Automatic Checklist Completion Creation
When a customer has a project metadata checklist configured:
- New Project Creation: ChecklistCompletion is automatically created for new projects
- Existing Projects: ChecklistCompletion is created for all existing projects when checklist is assigned
- Checklist Removal: All associated ChecklistCompletions are automatically deleted
Data Integrity
- Answers are tied to the user who submitted them
- Multiple users can provide answers to the same checklist
- Answer history is maintained with creation and modification timestamps
- Completion status is calculated in real-time based on required questions
Best Practices
For API Consumers
- Check Completion Status: Always check if metadata is required before showing forms
- Handle Missing Checklists: Gracefully handle cases where no checklist is configured
- Validate Before Submit: Validate answer formats client-side to reduce API errors
- Show Progress: Use completion_percentage to show users their progress
- Cache Appropriately: Checklist structure changes infrequently, status changes often
- Use Customer-Level Endpoints: For organizational dashboards, use customer-level compliance endpoints for efficient aggregated views
- Leverage Pagination: Take advantage of database-level pagination for large datasets with appropriate page sizes
- Use Enhanced Fields: Take advantage of enhanced question metadata for better user experience:
- Display
question_optionsto show available choices for select questions - Use
answer_labelsfor human-readable display while keepinganswer_datafor form submissions - Use
min_valueandmax_valuefor client-side validation of number inputs - All enhanced fields are optimized to avoid N+1 query issues
For Administrators
- Plan Question Structure: Design questions before creating projects
- Use Clear Descriptions: Make question descriptions self-explanatory
- Set Appropriate Requirements: Mark essential questions as required
- Test Thoroughly: Test the complete flow before deploying to users
- Monitor Adoption: Track completion rates to ensure effective use
Related Documentation
Release Orchestration
This document describes the automated release orchestration system that coordinates releases across the entire Waldur ecosystem from the waldur-docs repository.
Overview
The waldur-docs repository serves as the central orchestration hub for Waldur releases. When a semantic version tag (e.g., 7.6.8) is applied to this repository, it triggers an automated workflow that:
- Updates documentation with versioned API schemas and changelogs
- Tags all repositories across the Waldur ecosystem
- Updates version references in deployment configurations
- Releases SDKs with updated version numbers
- Generates comprehensive changelogs with cross-repository links
Release flow diagram
flowchart TD
A[Create semantic version tag<br/>on waldur-docs] --> B{GitLab CI pipeline<br/>triggered}
B --> C[Test stage]
C --> C1[Lint markdown files]
C --> C2[Test MkDocs build]
C --> C3[Test Docker Compose<br/>deployment]
C --> C4[Test Helm<br/>deployment]
C --> C5[Test changelog<br/>generation]
C1 --> D{All tests pass?}
C2 --> D
C3 --> D
C4 --> D
C5 --> D
D -->|No| E[Pipeline fails]
D -->|Yes| F[Deploy stage]
F --> F1[Build & deploy<br/>documentation]
F --> F2[Tag all repositories]
F --> F3[Release SDKs]
F --> F4[Update configurations]
F --> F5[Generate changelog]
F1 --> F1a[Deploy latest docs<br/>to GitHub Pages]
F1 --> F1b[Deploy tagged version<br/>with mike]
F2 --> F2a[waldur-mastermind]
F2 --> F2b[waldur-homeport]
F2 --> F2c[waldur-prometheus-exporter]
F3 --> F3a[Python SDK<br/>update pyproject.toml]
F3 --> F3b[JS/TS SDK<br/>update package.json]
F3 --> F3c[Go SDK<br/>git tag only]
F4 --> F4a[Helm charts<br/>update Chart.yaml & values.yaml]
F4 --> F4b[Docker Compose<br/>update .env.example]
F5 --> F5a[Parse previous version<br/>from CHANGELOG.md]
F5 --> F5b[Generate diff links<br/>for all repos]
F5 --> F5c[Add SBOM & API<br/>schema references]
F5 --> F5d[Commit updated<br/>changelog]
F1a --> G[Release complete]
F1b --> G
F2a --> G
F2b --> G
F2c --> G
F3a --> G
F3b --> G
F3c --> G
F4a --> G
F4b --> G
F5d --> G
G --> H[Post-deploy stage]
H --> H1[Deploy tagged<br/>documentation]
style A fill:#e1f5fe
style G fill:#c8e6c9
style E fill:#ffcdd2
style F fill:#fff3e0
Coordinated repositories
The release orchestration manages the following repositories:
Core components
- waldur-mastermind - Backend API and business logic
- waldur-homeport - Frontend web application
- waldur-prometheus-exporter - Metrics and monitoring
Deployment & infrastructure
- waldur-helm - Kubernetes Helm charts
- waldur-docker-compose - Docker Compose configurations
SDKs & client libraries
- py-client - Python SDK
- js-client - TypeScript/JavaScript SDK
- go-client - Go SDK
Release workflow
1. Pre-release testing
Before creating a release tag, the system validates:
1 2 3 4 5 6 7 8 9 10 | |
2. Repository tagging
The system automatically tags all core repositories with the same version:
1 2 3 4 | |
3. Configuration updates
Helm charts
Version numbers are updated in Chart.yaml and values.yaml:
1 2 3 | |
Docker Compose
Image tags are updated in .env.example:
1 2 | |
4. SDK releases
Python SDK
Updates pyproject.toml with new version:
1 | |
JavaScript/TypeScript SDK
Updates both package.json and package-lock.json:
1 2 | |
Go SDK
Simple tag-based versioning (Go modules use git tags for versions).
5. Changelog generation
The system automatically generates comprehensive changelogs that include:
Cross-repository diff links
1 2 | |
Security & compliance artifacts
1 2 3 4 | |
Documentation versioning
Version-specific documentation
The system deploys versioned documentation using mike:
1 2 3 4 5 | |
API schema management
Each release includes:
- Versioned OpenAPI schema -
waldur-openapi-schema-{version}.yaml - API diff reports - Comparing changes between versions
- SBOM files - Software Bill of Materials for security compliance
Release process
For maintainers
- Prepare the release by ensuring all component repositories are ready
- Create a semantic version tag on
waldur-docsrepository:
1 2 | |
- Monitor the pipeline - GitLab CI will automatically:
- Test deployment configurations
- Tag all repositories
- Update configuration files
- Release SDKs
- Generate changelogs
- Deploy documentation
Validation
The release is complete when: - [ ] All repositories have the new tag - [ ] Helm chart versions are updated - [ ] Docker Compose configurations reference new image tags - [ ] SDK packages are released with new versions - [ ] Documentation is deployed with the new version - [ ] Changelog is updated with comprehensive links
Emergency procedures
Rolling back a release
If a release needs to be rolled back:
- Remove the git tag from all repositories
- Revert configuration changes in helm and docker-compose repositories
- Update documentation to remove the problematic version
- Coordinate with package repositories (PyPI, npm) if SDKs were published
Partial release recovery
If only some repositories were tagged successfully:
- Identify missing tags by checking each repository
- Manually tag missing repositories using the same tag message
- Re-run failed CI jobs if configuration updates are missing
Security considerations
- SSH keys for GitHub authentication are stored as GitLab CI variables
- GitLab tokens provide access to private repositories
- SBOM generation ensures supply chain security compliance
- Automated testing validates deployments before release completion
Service Accounts in Waldur
Overview
Service accounts provide automated, programmatic access to Waldur resources at various organizational levels. This feature is optional and can be enabled to support integration with external authentication systems and automation workflows.
Architecture
Core Components
1. ServiceAccountMixin
Located in src/waldur_core/structure/models.py, this mixin provides the foundational capability for service account management:
1 2 3 4 5 6 7 8 9 10 | |
This mixin is applied to both Customer and Project models, enabling service account limits at organizational and project levels.
2. Service Account Hierarchy
1 2 3 4 5 | |
- BaseServiceAccount: Abstract base providing common fields (username, description, state)
- ScopedServiceAccount: Extends BaseServiceAccount with email and preferred_identifier
- ProjectServiceAccount: Service accounts scoped to specific projects
- CustomerServiceAccount: Service accounts scoped to customer organizations
- RobotAccount: Automated accounts for resource-level access
State Management
Service accounts use a finite state machine with three states:
- OK (0): Account is active and operational
- CLOSED (1): Account has been closed/deactivated
- ERRED (2): Account is in error state
State transitions:
set_state_ok(): ERRED → OKset_state_closed(): OK/ERRED → CLOSEDset_state_erred(): * → ERRED
Backend Integration
Configuration Settings
Service account functionality requires the following settings in WALDUR_CORE:
1 2 3 4 5 6 7 8 | |
Mock Mode
For development and testing, a mock backend can be enabled:
1 | |
This simulates service account operations without requiring external backend connections.
Backend API Requirements
When SERVICE_ACCOUNT_USE_API is enabled, the backend must implement the following endpoints:
1. Authentication Endpoint
POST {SERVICE_ACCOUNT_TOKEN_URL}
Request:
1 2 3 4 5 | |
Response:
1 2 3 | |
2. Create Service Account
POST {SERVICE_ACCOUNT_URL}
Headers:
1 2 | |
Request Body:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
3. Update Service Account
PUT {SERVICE_ACCOUNT_URL}/{username}
Headers:
1 2 | |
Request Body:
1 2 3 4 | |
4. Close Service Account
PUT {SERVICE_ACCOUNT_URL}/{username}/close
Headers:
1 | |
Response:
1 2 3 4 5 6 | |
5. Rotate API Key
PUT {SERVICE_ACCOUNT_URL}/{username}/rotate-api-key
Headers:
1 | |
Response:
1 2 3 4 5 6 7 8 | |
6. Get Service Account
GET {SERVICE_ACCOUNT_URL}/{username}
Headers:
1 | |
Response: Same as create response structure
API Endpoints (Frontend)
Project Service Accounts
- List:
GET /api/marketplace-project-service-accounts/ - Create:
POST /api/marketplace-project-service-accounts/ - Retrieve:
GET /api/marketplace-project-service-accounts/{uuid}/ - Update:
PATCH /api/marketplace-project-service-accounts/{uuid}/ - Delete:
DELETE /api/marketplace-project-service-accounts/{uuid}/ - Rotate API Key:
POST /api/marketplace-project-service-accounts/{uuid}/rotate_api_key/
Customer Service Accounts
- List:
GET /api/marketplace-customer-service-accounts/ - Create:
POST /api/marketplace-customer-service-accounts/ - Retrieve:
GET /api/marketplace-customer-service-accounts/{uuid}/ - Update:
PATCH /api/marketplace-customer-service-accounts/{uuid}/ - Delete:
DELETE /api/marketplace-customer-service-accounts/{uuid}/ - Rotate API Key:
POST /api/marketplace-customer-service-accounts/{uuid}/rotate_api_key/
Permissions
Service account operations require the MANAGE_SERVICE_ACCOUNT permission at the appropriate scope:
- Project Service Accounts: Permission required at project or customer level
- Customer Service Accounts: Permission required at customer level
Lifecycle Management
Automatic Cleanup
Service accounts are automatically closed when their parent scope is deleted:
- Project Deletion: All associated ProjectServiceAccounts are closed
- Customer Deletion: All associated CustomerServiceAccounts are closed
This is handled by Django signal handlers:
close_service_accounts_on_project_deletionclose_customer_service_accounts_on_customer_deletion
Account Limits
Organizations can enforce service account limits:
- Project Level: Set
max_service_accountson the Project model - Customer Level: Set
max_service_accountson the Customer model
When limits are set, attempts to create accounts beyond the limit will be rejected with a validation error.
Error Handling
Service accounts track errors through:
- state: Transitions to ERRED state on failures
- error_message: Human-readable error description
- error_traceback: Full error traceback for debugging
Failed operations automatically transition accounts to ERRED state, which can be recovered using set_state_ok() after resolving issues.
Integration with GLAuth
Service accounts can be exported for GLAuth synchronization through the offering endpoint:
GET /api/marketplace-offerings/{uuid}/glauth_users_config/
This generates configuration records for:
- Offering users
- Robot accounts (including service accounts)
Implementation Checklist
When implementing a service account backend, ensure:
- OAuth2 token endpoint is available and returns bearer tokens
- Service account creation endpoint generates unique usernames
- API keys are returned with expiration information
- Update operations modify only allowed fields (email, description)
- Close operation marks accounts as disabled
- Get operation returns current account status
- Rotate operation generates new API keys
- Error responses use standard HTTP status codes
- All endpoints validate bearer token authentication
- Account status transitions are logged appropriately
Security Considerations
- API Keys: Generated keys are returned only once during creation. Store securely.
- Token Expiration: API keys should have reasonable TTL (default: 30 days)
- Permission Checks: All operations validate user permissions at appropriate scope
- Audit Logging: All service account operations are logged for audit trails
- Cleanup: Accounts are automatically closed when parent resources are deleted
Testing
Mock mode can be enabled for testing without external dependencies:
1 2 | |
This simulates all backend operations locally, useful for:
- Unit tests
- Development environments
- Demo installations
Settings Policy
Settings configure the behavior of Waldur deployments for both core functionality and plugins.
Plugin Settings
Plugins define their settings in extension.py. Not all settings are intended for production override - plugin developers are responsible for documenting which settings can be safely modified.
Deployment Settings
Environment Variables
The recommended approach for Docker-based deployments is to use environment variables. Common variables include:
| Variable | Description |
|---|---|
GLOBAL_SECRET_KEY |
Django secret key (required) |
GLOBAL_DEBUG |
Enable debug mode (default: false) |
POSTGRESQL_HOST |
Database host |
POSTGRESQL_NAME |
Database name |
POSTGRESQL_USER |
Database user |
POSTGRESQL_PASSWORD |
Database password |
SENTRY_DSN |
Sentry error tracking DSN |
AUTH_TOKEN_LIFETIME |
Token lifetime in seconds |
See the Configuration Guide for a complete list.
Configuration Files
Additional configuration files can be placed in /etc/waldur/ (or the directory specified by WALDUR_BASE_CONFIG_DIR):
| File | Purpose |
|---|---|
override.conf.py |
Override any Django/Waldur settings |
logging.conf.py |
Logging configuration |
saml2.conf.py |
SAML2 authentication configuration |
These files are loaded in order, allowing later files to override earlier settings.
Frontend Features
Frontend feature flags are configured through the WALDUR_CORE settings. See the Features documentation for available options.
Waldur Support Module
The Support module provides a comprehensive helpdesk and ticketing system with multi-backend integration, enabling organizations to manage support requests through JIRA, SMAX, Zammad, or a basic built-in system.
Overview
The support module acts as an abstraction layer over multiple ticketing backends, providing:
- Unified API for ticket management across different backends
- Bidirectional synchronization with external ticketing systems
- Template-based issue creation
- Customer feedback collection
- SLA tracking and reporting
- Advanced permission management
Architecture
graph TB
subgraph "Waldur Support"
API[Support API]
Models[Support Models]
Backend[Backend Interface]
end
subgraph "External Systems"
JIRA[JIRA/Service Desk]
SMAX[Micro Focus SMAX]
Zammad[Zammad]
end
subgraph "Integration"
Webhook[Webhooks]
Sync[Synchronization]
end
API --> Models
Models --> Backend
Backend --> JIRA
Backend --> SMAX
Backend --> Zammad
JIRA --> Webhook
SMAX --> Webhook
Zammad --> Webhook
Webhook --> Models
Sync --> Backend
Core Components
1. Issue Management
The Issue model is the central entity for ticket management:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
Issue Types:
INFORMATIONAL- General information requestsSERVICE_REQUEST- Service provisioning requestsCHANGE_REQUEST- Change management requestsINCIDENT- Incident reports and outages
2. Comment System
Comments provide threaded discussions on issues:
1 2 3 4 5 6 | |
Comment Features:
- Public/private visibility control
- Automatic user information formatting for backends
- Bidirectional synchronization
3. Attachment Management
File attachments for issues and templates:
1 2 3 4 5 6 7 8 | |
4. User Management
SupportUser bridges Waldur users with backend systems:
1 2 3 4 5 6 | |
5. Custom Field Integration
Resource Backend ID Synchronization:
The system supports automatic resource backend_id updates via Service Desk custom fields:
1 2 3 4 5 6 7 8 9 | |
Integration Benefits:
- External systems can update Waldur resource identifiers via Service Desk
- One-way data synchronization from helpdesk to Waldur resources
- Automated resource identifier management from external platforms
- Enhanced integration capabilities for third-party tools
Supported Resource Types:
- Marketplace Orders (
marketplace.Order) - Marketplace Resources (
marketplace.Resource) - Any resource with
backend_idfield connected via Issue generic foreign key
6. Template System
Templates enable standardized issue creation:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
7. Status Management
IssueStatus maps backend statuses to resolution types:
1 2 3 4 5 6 7 8 | |
Status Configuration:
Status configuration is critical for proper issue resolution detection. The system uses IssueStatus entries to determine whether an issue has been successfully resolved or canceled:
- RESOLVED: Statuses that indicate successful completion (e.g., "Done", "Resolved", "Completed")
- CANCELED: Statuses that indicate cancellation or failure (e.g., "Cancelled", "Rejected", "Failed")
Management Access:
- Staff users: Full CRUD access to manage status configurations
- Support users: Read-only access to view existing statuses
- Regular users: No access
API Operations:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
8. Feedback System
Customer satisfaction tracking:
1 2 3 4 | |
Backend Integration
Supported Backends
1. JIRA/Atlassian Service Desk
Full-featured integration with:
- Service Desk project support
- Request type management
- Customer portal integration
- Webhook support for real-time updates
- Custom field mapping with one-way resource synchronization (Service Desk → Waldur)
Authentication Methods:
Supports multiple authentication methods with automatic fallback:
- OAuth 2.0 (Recommended for Enterprise)
1 2 3 | |
- Personal Access Token (Server/Data Center)
1 | |
- API Token (Cloud - Recommended)
1 2 | |
- Basic Authentication (Legacy)
1 2 | |
Authentication Priority Order: OAuth 2.0 > Personal Access Token > API Token > Basic Authentication
Security Recommendations:
- Use OAuth 2.0 for enterprise integrations with fine-grained permissions
- Use API Tokens for Atlassian Cloud instances
- Use Personal Access Tokens for Server/Data Center instances
- Avoid Basic Authentication in production environments
OAuth 2.0 Setup:
- Create an OAuth 2.0 app in your Atlassian organization
- Obtain client_id and access_token from the OAuth flow
- Configure the credentials in your environment variables
- The system will automatically use OAuth 2.0 when configured
Custom Field Mapping:
Waldur supports custom field mapping with Atlassian Service Desk for enhanced integration capabilities:
1 2 3 4 5 6 7 8 9 10 11 | |
Resource Backend ID Synchronization:
The system automatically synchronizes resource backend IDs using the waldur_backend_id custom field:
- Jira Setup: Create a custom field named
waldur_backend_id(text field, single line) - Field Mapping: The system automatically detects field ID
customfield_10200or uses field lookup - Service Desk → Waldur Sync:
- Issue synchronization reads
waldur_backend_idcustom field and updates connected resource'sbackend_id - External systems can update Waldur resources by modifying the custom field in Service Desk tickets
Use Cases:
- External systems can update Waldur resource identifiers via Service Desk
- Cross-platform resource synchronization through helpdesk integration
- Automated data consistency maintenance across integrated systems
- Third-party tool integration via Service Desk custom field updates
Configuration Example:
1 2 3 4 5 6 7 | |
2. Micro Focus SMAX
Enterprise ITSM integration:
- Request and incident management
- Change management workflows
- Service catalog integration
- REST API-based synchronization
- Webhook support for real-time updates
3. Zammad
Open-source ticketing system:
- Multi-channel support (email, web, phone)
- Customer organization management
- Tag-based categorization
- Webhook integration
4. Basic Backend
No-op implementation for:
- Development and testing
- Environments without external ticketing
- Minimal support requirements
Backend Interface
All backends implement the SupportBackend interface:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
API Endpoints
Issue Management
| Endpoint | Method | Description |
|---|---|---|
/api/support-issues/ |
GET | List issues with filtering |
/api/support-issues/ |
POST | Create new issue |
/api/support-issues/{uuid}/ |
GET | Retrieve issue details |
/api/support-issues/{uuid}/ |
PATCH | Update issue |
/api/support-issues/{uuid}/ |
DELETE | Delete issue |
/api/support-issues/{uuid}/comment/ |
POST | Add comment to issue |
/api/support-issues/{uuid}/sync/ |
POST | Sync issue with backend |
Comments
| Endpoint | Method | Description |
|---|---|---|
/api/support-comments/ |
GET | List comments |
/api/support-comments/{uuid}/ |
GET | Retrieve comment |
/api/support-comments/{uuid}/ |
PATCH | Update comment |
/api/support-comments/{uuid}/ |
DELETE | Delete comment |
Attachments
| Endpoint | Method | Description |
|---|---|---|
/api/support-attachments/ |
GET | List attachments |
/api/support-attachments/ |
POST | Upload attachment |
/api/support-attachments/{uuid}/ |
GET | Download attachment |
/api/support-attachments/{uuid}/ |
DELETE | Delete attachment |
Configuration & Management
| Endpoint | Method | Description |
|---|---|---|
/api/support-users/ |
GET | List support users |
/api/support-priorities/ |
GET | List priorities |
/api/support-templates/ |
GET/POST | Manage templates |
/api/support-feedback/ |
GET/POST | Manage feedback |
/api/support-issue-statuses/ |
GET/POST | Manage issue statuses (staff only) |
/api/support-issue-statuses/{uuid}/ |
GET/PATCH/DELETE | Issue status details (staff only) |
Webhooks
| Endpoint | Method | Description |
|---|---|---|
/api/support-jira-webhook/ |
POST | JIRA webhook receiver |
/api/support-smax-webhook/ |
POST | SMAX webhook receiver |
/api/support-zammad-webhook/ |
POST | Zammad webhook receiver |
Reports
| Endpoint | Method | Description |
|---|---|---|
/api/support-statistics/ |
GET | Dashboard statistics |
/api/support-feedback-report/ |
GET | Feedback summary |
/api/support-feedback-average-report/ |
GET | Average ratings |
Permissions
Permission Model
The support module uses Waldur's standard permission system with additional paths:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Filtering
Advanced filtering capabilities:
- Customer/project-based filtering
- Resource-based filtering (VMs, networks)
- IP address lookup for resource issues
- Full-text search across summary/description
- Status, priority, and type filtering
Configuration
Django Settings
1 2 3 4 5 6 7 8 | |
Constance Settings
Dynamic configuration via admin:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Backend Configuration
JIRA Configuration
1 2 3 4 5 6 7 8 | |
SMAX Configuration
1 2 3 4 5 6 7 | |
Zammad Configuration
1 2 3 4 5 6 | |
Workflows
Issue Creation Flow
sequenceDiagram
participant User
participant API
participant Models
participant Backend
participant External
User->>API: POST /support-issues/
API->>Models: Create Issue
Models->>Backend: create_issue()
Backend->>External: Create ticket
External-->>Backend: Ticket ID
Backend-->>Models: Update backend_id
Models-->>API: Issue created
API-->>User: 201 Created
Synchronization Flow
sequenceDiagram
participant Scheduler
participant Backend
participant External
participant Models
Scheduler->>Backend: sync_issues()
Backend->>External: Fetch updates
External-->>Backend: Issue data
Backend->>Models: Update issues
Note over Backend,Models: Update status, comments, attachments
Backend->>Models: Process callbacks
Note over Models: Trigger marketplace callbacks if needed
Webhook Flow
sequenceDiagram
participant External
participant Webhook
participant Models
participant Callbacks
External->>Webhook: POST /support-*-webhook/
Webhook->>Webhook: Validate signature
Webhook->>Models: Update issue/comment
alt Status changed
Models->>Callbacks: Trigger callbacks
Note over Callbacks: Resource state updates
end
Webhook-->>External: 200 OK
Celery Tasks
Scheduled background tasks:
| Task | Schedule | Description |
|---|---|---|
pull-support-users |
Every 6 hours | Sync support users from backend |
pull-priorities |
Daily at 1 AM | Update priority levels |
sync_request_types |
Daily at 1 AM | Sync JIRA request types |
sync-issues |
Configurable | Full issue synchronization |
Best Practices
1. Backend Selection
- Use JIRA for enterprise environments with existing Atlassian infrastructure
- Use SMAX for ITIL-compliant service management
- Use Zammad for open-source, multi-channel support
- Use Basic for development or minimal requirements
2. Status Configuration
- Map all backend statuses: Create IssueStatus entries for every status that your backend can return
- Define clear RESOLVED vs CANCELED mappings:
- RESOLVED (type=0): Statuses indicating successful completion
- CANCELED (type=1): Statuses indicating cancellation or failure
- Use descriptive names: Match the exact status names from your backend system
- Test status transitions: Verify resolution detection works correctly before production
- Staff-only management: Only staff users can create/modify status configurations
- Regular monitoring: Review status configurations when backend workflows change
3. Performance Optimization
- Enable webhooks for real-time updates
- Configure appropriate sync intervals
- Use pagination for large issue lists
- Implement caching for frequently accessed data
4. Security
- Use secure webhook endpoints with signature validation
- Implement proper permission checks
- Sanitize user input in comments/descriptions
- Use HTTPS for all backend connections
5. Custom Field Integration
- Enable custom field mapping: Set
ATLASSIAN_CUSTOM_ISSUE_FIELD_MAPPING_ENABLED = Truefor enhanced integration - Create required custom fields: Ensure
waldur_backend_idcustom field exists in Jira/Service Desk - Test field permissions: Verify API user can read/write custom fields
- Monitor field updates: Log resource backend_id changes for audit trails
- Validate field values: Ensure custom field values are appropriate for resource backend IDs
- Document field usage: Maintain clear documentation of custom field purposes and expected values
6. Monitoring
- Monitor sync task execution
- Track webhook delivery failures
- Log backend API errors
- Set up alerts for SLA breaches
- Monitor custom field mapping operations
- Track resource backend_id updates via logs
Troubleshooting
Common Issues
1. Issues Not Syncing
- Check backend connectivity
- Verify API credentials
- Review sync task logs
- Ensure webhook configuration
2. Missing Status Updates
- Verify IssueStatus configuration
- Check webhook signature validation
- Review backend field mappings
- Monitor sync intervals
3. Permission Errors
- Verify user roles and permissions
- Check customer/project associations
- Review permission paths configuration
- Validate backend user permissions
4. Attachment Upload Failures
- Check file size limits
- Verify MIME type restrictions
- Review storage permissions
- Monitor backend API limits
5. Custom Field Mapping Issues
- Field Not Found: Verify
waldur_backend_idcustom field exists in Jira (should becustomfield_10200) - Mapping Disabled: Ensure
ATLASSIAN_CUSTOM_ISSUE_FIELD_MAPPING_ENABLED = True - Resource Not Updated: Check if issue is properly connected to resource via
resource_content_typeandresource_object_id - Permission Errors: Verify Jira user has permission to read/write custom fields
- Field Name Mismatch: Ensure custom field name matches exactly
waldur_backend_id - API Errors: Check Jira REST API logs for custom field access issues
Debugging Custom Field Integration:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Integration with Marketplace
The support module integrates with the marketplace for ticket-based offerings:
- Orders create support issues automatically
- Issue status changes trigger order callbacks
- Resolution status determines order success/failure
- Comments and attachments sync bidirectionally
- Resource backend_id synchronization: Custom field mapping enables automatic resource identifier updates
Enhanced Marketplace Integration Features:
- Support.OfferingTemplate Integration: Marketplace orders for support offerings automatically create connected support issues
- One-way Resource Sync: Service Desk custom field updates can automatically update connected marketplace resource backend IDs
- Cross-System Data Flow: External systems can update Waldur resources via Service Desk custom field modifications
- Automated Identifier Management: Maintains consistent resource identifiers across integrated platforms
See Ticket-Based Offerings Documentation for detailed marketplace integration.
Extension Points
The support module provides several extension points:
- Custom Backends: Implement
SupportBackendinterface - Template Processors: Custom template variable processing
- Notification Handlers: Custom email/notification logic
- Webhook Processors: Custom webhook payload processing
- Feedback Collectors: Alternative feedback mechanisms
Appendix
Database Schema
Key database tables:
support_issue- Issue recordssupport_comment- Issue commentssupport_attachment- File attachmentssupport_supportuser- Backend user mappingsupport_priority- Priority levelssupport_issuestatus- Status configuration (with UUID support)support_template- Issue templatessupport_feedback- Customer feedback
API Filters
Available query parameters:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Error Codes
Common error responses:
| Code | Description |
|---|---|
| 400 | Invalid request data |
| 401 | Authentication required |
| 403 | Permission denied |
| 404 | Issue/resource not found |
| 409 | Conflict (duplicate, state issue) |
| 424 | Backend dependency failed |
| 500 | Internal server error |
Terms of Service API Documentation
Waldur provides two separate systems for managing legal agreements:
- Platform-Wide User Agreements - Global Terms of Service and Privacy Policy documents that apply to all platform users
- Marketplace Offering Terms of Service - Per-offering ToS that service providers can define for their specific offerings
Platform-Wide User Agreements
Platform-wide user agreements are global documents (Terms of Service and Privacy Policy) that apply to all users of the Waldur platform. These are typically displayed during user registration or login.
Overview
- Agreement Types: Terms of Service (TOS) and Privacy Policy (PP)
- Multilingual Support: Each agreement type can have multiple language versions
- Fallback Mechanism: If a requested language version doesn't exist, the default version is returned
- Public Access: Agreements can be read by anyone; only staff can modify them
API Endpoints
Base URL: /api/user-agreements/
List User Agreements
Get all user agreements or filter by type/language.
1 | |
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
agreement_type |
String | Filter by type: TOS or PP |
language |
String | ISO 639-1 language code (e.g., en, de, et). Returns requested language or falls back to default |
Example Requests:
1 2 3 4 5 6 7 8 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Field Descriptions:
| Field | Type | Description |
|---|---|---|
uuid |
UUID | Unique identifier |
content |
String (HTML) | The agreement content (HTML formatted) |
agreement_type |
String | Type of agreement: TOS or PP |
language |
String | ISO 639-1 language code. Empty string means default version |
created |
DateTime | When the agreement was created |
modified |
DateTime | When the agreement was last modified |
Retrieve a User Agreement
1 | |
Create a User Agreement (Staff Only)
1 2 3 4 5 6 7 8 9 | |
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
content |
String (HTML) | No | HTML content of the agreement |
agreement_type |
String | Yes | TOS or PP |
language |
String | No | ISO 639-1 code. Leave empty for default version |
Validation:
- Each
(agreement_type, language)combination must be unique - Only one default version (empty language) per agreement type
Update a User Agreement (Staff Only)
1 2 3 4 5 6 7 | |
Delete a User Agreement (Staff Only)
1 2 | |
Language Fallback Behavior
When requesting agreements with a language parameter:
- Exact match exists: Returns the localized version
- No exact match: Falls back to the default version (empty language)
- No default exists: Returns empty result for that agreement type
Example:
1 2 3 4 5 6 7 8 9 10 | |
Management Command
Load agreements from files using the load_user_agreements command:
1 2 3 4 5 6 7 8 9 10 11 | |
Options:
| Option | Description |
|---|---|
--tos PATH |
Path to Terms of Service file |
--pp PATH |
Path to Privacy Policy file |
--language CODE |
ISO 639-1 language code (empty for default) |
--force |
Overwrite existing agreement |
Admin Interface
User agreements can also be managed through the Django admin interface at
/admin/structure/useragreement/.
Marketplace Offering Terms of Service
The Marketplace Terms of Service functionality enables service providers to define Terms of Service for their specific marketplace offerings and track user consent. If consent enforcement is active, users must accept the Terms of Service before accessing certain resources.
Overview
The Marketplace Terms of Service system consists of three main components:
- Terms of Service Configurations - Service providers define ToS documents with versioning support
- User Consents - Users grant consent to specific ToS versions for offerings
- Consent Enforcement - System enforces consent requirements for resource access
Key Features
- Versioning: Track different versions of Terms of Service
- Re-consent Requirements: Force users to re-consent when ToS is updated
- Grace Periods: Allow time for users to update consent before access is revoked
- Consent Tracking: Comprehensive tracking of user consents and revocations
- Order Integration: Require ToS acceptance during order creation
Configuration
Enabling ToS Enforcement
ToS consent enforcement is controlled by the ENFORCE_USER_CONSENT_FOR_OFFERINGS setting. When enabled, users must have active consent to access resources from offerings that:
- Have active Terms of Service configured
- Have
service_provider_can_create_offering_userenabled in the offering's plugin options
API Endpoints
Terms of Service Management
Base URL: /api/marketplace-offering-terms-of-service/
List Terms of Service Configurations
Get all Terms of Service configurations visible to the current user.
1 2 | |
Permissions:
- Staff/Support: See all ToS configurations
- Service Providers: See ToS for their own offerings
- Regular Users: See ToS for offerings they've consented to or shared offerings
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
offering |
URL | Filter by offering URL |
offering_uuid |
UUID | Filter by offering UUID |
is_active |
Boolean | Filter by active status |
version |
String | Filter by version |
requires_reconsent |
Boolean | Filter by re-consent requirement |
o |
String | Order by (created, -created, modified, -modified, version, -version) |
Example Request:
1 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Field Descriptions:
| Field | Type | Description |
|---|---|---|
uuid |
UUID | Unique identifier for the ToS configuration |
offering_uuid |
UUID | UUID of the associated offering |
offering_name |
String | Name of the offering |
terms_of_service |
String (HTML) | The Terms of Service content (HTML formatted) |
terms_of_service_link |
URL | Optional external link to Terms of Service |
version |
String | Version identifier (e.g., "1.0", "2.0") |
is_active |
Boolean | Whether this ToS configuration is currently active |
requires_reconsent |
Boolean | Whether users must re-consent when this version is active |
grace_period_days |
Integer | Number of days before outdated consents are revoked (only when requires_reconsent=True) |
user_consent |
Object/null | Current user's consent information (if any) |
has_user_consent |
Boolean | Whether current user has valid consent for this ToS version |
created |
DateTime | When the ToS configuration was created |
modified |
DateTime | When the ToS configuration was last modified |
Retrieve a Terms of Service Configuration
Get details of a specific ToS configuration.
1 2 | |
Response: Same structure as list endpoint, single object.
Create a Terms of Service Configuration
Create a new Terms of Service configuration for an offering.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Permissions Required:
UPDATE_OFFERINGpermission on the offering, its customer, or service provider
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
offering |
URL | Yes | URL to the offering |
terms_of_service |
String (HTML) | No | HTML content of the Terms of Service |
terms_of_service_link |
URL | No | External link to Terms of Service |
version |
String | No | Version identifier |
is_active |
Boolean | No | Whether to activate this ToS (default: false) |
requires_reconsent |
Boolean | No | Whether to require re-consent (default: false) |
grace_period_days |
Integer | No | Grace period in days (default: 60, only used when requires_reconsent=True) |
Validation Rules:
- Only one active ToS configuration is allowed per offering
- If
is_active=true, any existing active ToS for the offering must be deactivated first versionandrequires_reconsentcannot be changed after creation
Response: 201 Created with the created ToS configuration object.
Update a Terms of Service Configuration
Update an existing ToS configuration. This is intended for minor changes, major ToS changes must be done via creating a new ToS and requiring reconsent. Note that version and requires_reconsent are protected and cannot be changed.
1 2 3 4 5 6 7 8 9 10 | |
Permissions Required:
UPDATE_OFFERINGpermission on the offering's customer
Updatable Fields:
terms_of_serviceterms_of_service_linkis_activegrace_period_days
Protected Fields (cannot be changed):
versionrequires_reconsent
Delete a Terms of Service Configuration
Delete a ToS configuration. This is a hard delete.
1 2 | |
Permissions Required:
UPDATE_OFFERINGpermission on the offering's customer
User Consent Management
Base URL: /api/marketplace-user-offering-consents/
List User Consents
Get all consent records for the current user (or all consents for staff/support).
1 2 | |
Permissions:
- Regular Users: See only their own consents
- Staff/Support: See all consents
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
user |
URL | Filter by user URL |
user_uuid |
UUID | Filter by user UUID |
offering |
URL | Filter by offering URL |
offering_uuid |
UUID | Filter by offering UUID |
version |
String | Filter by ToS version |
has_consent |
Boolean | Filter by active consent status (true for active, false for revoked) |
requires_reconsent |
Boolean | Filter by whether re-consent is required |
Example Request:
1 | |
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Field Descriptions:
| Field | Type | Description |
|---|---|---|
uuid |
UUID | Unique identifier for the consent record |
user_uuid |
UUID | UUID of the user who granted consent |
username |
String | Username of the consenting user |
offering_uuid |
UUID | UUID of the offering |
offering_name |
String | Name of the offering |
agreement_date |
DateTime | When the consent was granted |
version |
String | Version of ToS that was consented to |
revocation_date |
DateTime/null | When the consent was revoked (if revoked) |
is_revoked |
Boolean | Whether the consent has been revoked |
created |
DateTime | When the consent record was created |
modified |
DateTime | When the consent record was last modified |
Retrieve a User Consent
Get details of a specific consent record.
1 2 | |
Response: Same structure as list endpoint, single object.
Grant Consent to Terms of Service
Create a consent record for the current user and a specific offering.
1 2 3 4 5 6 7 | |
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
offering |
UUID | Yes | UUID of the offering |
Validation:
- The offering must have active Terms of Service
- If user already has active consent for the current ToS version, returns an error
- If user has revoked consent, it will be reactivated with the current ToS version
Response: 201 Created with the consent record.
Behavior:
- If consent already exists (even if revoked), it will be reactivated and updated with the current ToS version
- The consent version is automatically set to match the active ToS version
Revoke Consent
Revoke a user's consent to Terms of Service.
1 2 | |
Permissions:
- Users can revoke their own consent
- Staff can revoke any consent
Response: 200 OK with updated consent record (now with revocation_date set).
Offering Statistics
Get ToS Consent Statistics
Get comprehensive consent statistics for a specific offering.
1 2 | |
Permissions Required:
UPDATE_OFFERINGpermission on the offering or its customer
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
Field Descriptions:
| Field | Type | Description |
|---|---|---|
active_users_count |
Integer | Number of users with active consent |
total_users_count |
Integer | Total number of users for the offering |
active_users_percentage |
Float | Percentage of users with active consent |
accepted_consents_count |
Integer | Total number of accepted consents |
revoked_consents_count |
Integer | Total number of revoked consents |
total_consents_count |
Integer | Total number of consent records |
revoked_consents_over_time |
Array | Time series of revoked consents |
tos_version_adoption |
Array | Distribution of users across ToS versions |
active_users_over_time |
Array | Time series of active users |
Order Integration
When creating an order for an offering with Terms of Service, you must include the accepting_terms_of_service field.
Create Order with ToS Acceptance
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
accepting_terms_of_service |
Boolean | Conditional | Must be true if offering has ToS |
Validation:
- If the offering has active Terms of Service,
accepting_terms_of_servicemust betrue - If provided as
true, a consent record is automatically created for the user - If the user already has active consent, the order proceeds normally
Workflows
Service Provider: Setting Up Terms of Service
- Create ToS Configuration
1 2 3 4 5 6 7 8 | |
- Update ToS (Requiring Re-consent)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
- Monitor Consent Statistics
1 | |
User: Granting Consent
- Check if Offering Requires ToS
1 | |
Check the has_terms_of_service field in the response.
- View Terms of Service
1 | |
- Grant Consent
1 2 3 4 | |
- Create Order (Consent Included)
1 2 3 4 5 6 | |
User: Re-consenting After ToS Update
- Check Consent Status
1 | |
Check if requires_reconsent filter returns the consent.
- View Updated ToS
1 | |
- Grant New Consent
1 2 3 4 | |
This will update the existing consent with the new version.
Permission Model
Terms of Service Management
- Create/Update/Delete ToS: Requires
UPDATE_OFFERINGpermission on: - The offering itself, OR
- The offering's customer, OR
- The offering's customer's service provider
User Consent
- View Consents:
- Users can see their own consents
- Staff/Support can see all consents
- Grant Consent: Users can grant consent for themselves
- Revoke Consent:
- Users can revoke their own consent
- Staff can revoke any consent
Grace Periods
When requires_reconsent=True is set on a ToS configuration:
- Grace Period: Users have
grace_period_days(default: 60) to update their consent - During Grace Period: Users retain access even with outdated consent
- After Grace Period: Users lose access if consent version doesn't match active ToS version
- Automatic Enforcement: The system checks consent version when accessing resources
Best Practices
For Service Providers
- Version Management
- Use semantic versioning (e.g., "1.0", "2.0", "2.1")
- Document changes between versions
- Set appropriate grace periods for major updates
-
Major ToS revisions require creating a new ToS object
-
Re-consent Strategy
- Use
requires_reconsent=truefor significant changes - Provide adequate grace periods (60+ days recommended)
-
Communicate ToS updates to users proactively
-
Content Guidelines
- Keep Terms of Service clear and concise
- Use HTML formatting for better readability
-
Consider providing both inline content and external link
-
Monitoring
- Regularly check consent statistics
- Monitor grace period expirations
- Follow up with users who haven't re-consented
Related Endpoints
- Offerings:
/api/marketplace-provider-offerings/- Checkhas_terms_of_servicefield - Orders:
/api/marketplace-orders/- Includeaccepting_terms_of_servicewhen creating orders - Resources: Resource access is automatically enforced based on consent status
Configuration Settings
ENFORCE_USER_CONSENT_FOR_OFFERINGS: Global setting to enable/disable ToS consent enforcement- Only applies to offerings with
service_provider_can_create_offering_userenabled in plugin options
User Actions Notification System
The User Actions system provides a framework for detecting and managing user-specific actions across Waldur components. It helps users stay informed about items requiring attention, such as pending orders, expiring resources, and stale assets.
Core Features
- Action Detection: Automated discovery of user-specific actions across applications
- Real-time Updates: Immediate recalculation when orders change state or actions are executed
- Urgency Classification: Three-tier urgency system (low, medium, high)
- Action Management: Users can silence actions temporarily or permanently
- Corrective Actions: Predefined actions users can take to resolve issues
- Bulk Operations: Bulk silence multiple actions based on filters
- API Execution: Execute corrective actions directly through API endpoints
- Admin Controls: Administrative endpoints for triggering action updates
- Audit Trail: Complete execution history for actions taken
- OpenAPI Documentation: Fully documented API with drf-spectacular integration
Architecture
Provider Framework
Action providers inherit from BaseActionProvider and implement:
get_actions_for_user(user)- Returns user-specific actionsget_affected_users()- Returns users who might have actionsget_corrective_actions(user, obj)- Returns available corrective actions
Database Models
UserAction- Individual action items with urgency, due dates, silencing support, and corrective actionsUserActionExecution- Audit trail for executed actions with success/failure trackingUserActionProvider- Registry of registered providers with execution status and scheduling
API Endpoints
User Action Management
GET /api/user-actions/- List user actions (filterable by urgency, type, silenced status)GET /api/user-actions/{uuid}/- Get specific action detailsGET /api/user-actions/summary/- Action statistics and counts by urgency and typePOST /api/user-actions/{uuid}/silence/- Silence action temporarily or permanentlyPOST /api/user-actions/{uuid}/unsilence/- Remove silence from an actionPOST /api/user-actions/{uuid}/execute_action/- Execute corrective actionsPOST /api/user-actions/bulk_silence/- Bulk silence actions based on filtersPOST /api/user-actions/update_actions/- Trigger action update (admin only)
Execution History
GET /api/user-action-executions/- View action execution history
Provider Management (Admin Only)
GET /api/user-action-providers/- List registered action providers
Marketplace Providers
Two providers are included for marketplace workflows:
PendingOrderProvider
Detects orders pending consumer approval for a configurable time period (default 24 hours, configured via USER_ACTIONS_PENDING_ORDER_HOURS). Provides corrective actions:
- View order details
- Approve order (API endpoint)
- Reject order
ExpiringResourceProvider
Finds resources with prepaid components expiring within a configurable reminder schedule. Supports per-offering configuration for different subscription types (monthly, annual, multi-year). Corrective actions include:
- View resource details
- Renew resource
- Terminate resource (acknowledge expiration)
Configuration
Global Settings (Django Constance)
Configure via Django admin under Constance settings:
| Setting | Default | Description |
|---|---|---|
USER_ACTIONS_ENABLED |
True |
Enable/disable the entire user actions system |
USER_ACTIONS_PENDING_ORDER_HOURS |
24 |
Hours before pending order becomes an action item |
USER_ACTIONS_HIGH_URGENCY_NOTIFICATION |
True |
Send digest if user has high urgency actions |
USER_ACTIONS_NOTIFICATION_THRESHOLD |
5 |
Send digest if user has more than N actions |
USER_ACTIONS_EXECUTION_RETENTION_DAYS |
90 |
Days to keep action execution history |
USER_ACTIONS_DEFAULT_EXPIRATION_REMINDERS |
[30, 14, 7, 1] |
Default reminder schedule (days before expiration) |
Per-Offering Reminder Schedule
For offerings with different subscription types (annual, multi-year), configure reminder schedules in the offering's plugin_options:
1 2 3 4 5 | |
Example configurations:
| Subscription Type | Reminder Schedule | Description |
|---|---|---|
| Monthly | [30, 14, 7, 1] |
Reminders at 30, 14, 7, and 1 day before expiration |
| Annual | [90, 60, 30, 14, 7, 1] |
Starts 90 days out for annual renewals |
| Multi-year | [180, 90, 60, 30, 14, 7] |
6-month advance notice for long-term subscriptions |
Urgency Mapping: Urgency is automatically calculated based on position in the reminder schedule:
- First ~1/3 of reminders →
lowurgency - Middle ~1/3 of reminders →
mediumurgency - Last ~1/3 of reminders →
highurgency
Note: One action is created per resource and updated as it moves through milestones (no duplicates)
Creating Custom Providers
- Create a provider class inheriting from
BaseActionProvider - Implement required methods
- Register with
register_provider(YourProvider) - Create
user_actions.pyin your app to auto-register on startup
Example provider structure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | |
Real-time Action Updates
In addition to periodic updates, the system supports real-time recalculation for faster feedback:
Order State Change Triggers
When an Order transitions out of a pending state (e.g., approved, rejected, or cancelled), the system automatically triggers recalculation of pending order actions. This ensures users see updated action lists immediately rather than waiting for the next periodic update.
Pending states that trigger recalculation when exited:
PENDING_CONSUMERPENDING_PROVIDERPENDING_PROJECTPENDING_START_DATE
Post-Execution Cleanup
After a user successfully executes a corrective action, the system immediately triggers a cleanup task for that user's actions of the same type. This provides instant feedback - the action list updates right after the user takes action.
How It Works
| Event | Trigger | Scope |
|---|---|---|
| Order approved/rejected/cancelled | Signal triggers update_actions_for_provider |
All affected users |
| User executes corrective action | cleanup_stale_actions called |
Executing user only |
| Periodic task | Runs on schedule | All users |
This hybrid approach balances responsiveness with efficiency:
- Real-time updates for user-initiated actions
- Periodic updates as a fallback and for detecting new conditions
Automated Tasks
Celery tasks run periodically:
- Action Updates: Every 6 hours - detect new actions
- Cleanup: Daily/weekly - remove expired silenced actions and old executions
- Notifications: Daily at 9 AM - send action digest emails
- Stale Action Cleanup: Runs after each provider update to remove outdated actions
API Usage Examples
Listing Actions
List all actions for current user:
1 | |
List high-urgency actions:
1 | |
List actions including silenced ones:
1 | |
Filter by action type:
1 | |
Action Summary
Get action statistics:
1 | |
Response example:
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Silencing Actions
Silence an action permanently:
1 2 | |
Silence an action for 7 days:
1 2 | |
Remove silence from an action:
1 | |
Bulk silence high-urgency actions for 14 days:
1 2 | |
Executing Corrective Actions
Execute a specific corrective action:
1 2 | |
Administrative Actions
Trigger action update for all providers (admin only):
1 2 | |
Trigger update for specific provider (admin only):
1 2 | |
Viewing Execution History
Get execution history for current user:
1 | |
Managing Providers (Admin Only)
List all registered providers:
1 | |
Security and Permissions
- User Actions: Users can only view and manage their own actions
- Execution History: Users can only view their own execution history
- Provider Management: Requires admin permissions
- Update Actions: Requires admin permissions
- Corrective Actions: Subject to individual action permission requirements
OpenAPI Documentation
All endpoints are fully documented with OpenAPI specifications via drf-spectacular:
- Request/response schemas are automatically generated
- Interactive API documentation available at
/api/docs/ - Proper error response documentation for all endpoints
- Examples and validation rules included
The system integrates with existing Waldur permissions and follows established patterns for extensibility across all Waldur applications.
User Data Access Tracking
Waldur provides GDPR-compliant transparency features that allow users to see who has access to their personal data and maintain an audit trail of actual access events.
Overview
The User Data Access Tracking system consists of two main components:
- Data Access Visibility - Shows who CAN access a user's profile data
- Data Access History - Shows who DID access a user's profile data (audit log)
Feature Flag
Enable the Data Access tab in user profiles:
1 2 3 4 5 6 | |
Configuration
Constance Settings
| Setting | Default | Description |
|---|---|---|
USER_DATA_ACCESS_LOGGING_ENABLED |
False |
Enable logging of user data access events |
USER_DATA_ACCESS_LOG_SELF_ACCESS |
False |
Log when users access their own profile |
USER_DATA_ACCESS_LOG_RETENTION_DAYS |
90 |
Days to retain logs before automatic cleanup |
Logged Fields
Only personal data fields are logged for GDPR compliance. Technical fields (url, uuid, token, permissions, etc.) are excluded.
Personal data fields tracked:
- Identity:
username,full_name,native_name,first_name,last_name - Contact:
email,phone_number - Professional:
job_title,organization,organization_country,organization_type,affiliations - Personal:
civil_number,birth_date,gender,personal_title,place_of_birth,country_of_residence,nationality,nationalities - Other:
eduperson_assurance
Access Categories
Administrative Access
Platform staff and support users have global access to all user data for administrative purposes. This access is inherent to their roles.
| Accessor Type | Description |
|---|---|
staff |
Platform administrators |
support |
Platform support staff |
staff_and_support |
Users with both roles |
Organizational Access
Users within the same organization (customer) or project can see basic profile information of their peers. This is based on role assignments.
Service Provider Access
When users consent to share data with service providers via marketplace offerings,
providers can access specific profile fields configured in the offering's
OfferingUserAttributeConfig.
API Endpoints
User-Specific Endpoints
Data Access Visibility
1 | |
Returns who has access to a specific user's profile data.
Permissions: Own profile, or staff/support for any user.
Response (regular user view):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Note: Regular users do not see admin counts or individual admin users. Staff/support
users see full details including staff_count, support_count, and users list.
Data Access History
1 | |
Returns historical audit log of who accessed a user's profile data.
Permissions: Own profile, or staff/support for any user.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
start_date |
DATE | Filter from this date (inclusive) |
end_date |
DATE | Filter until this date (inclusive) |
accessor_type |
STRING | Filter by accessor type |
Response (regular user view - anonymized):
1 2 3 4 5 6 7 8 9 | |
Response (staff/support view - full details):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Global Admin Endpoint
Global Data Access Logs
1 | |
Returns all data access logs across the platform.
Permissions:
| Action | Staff | Support | Regular User |
|---|---|---|---|
| List/View | ✅ | ✅ | ❌ |
| Delete | ✅ | ❌ | ❌ |
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
page |
INTEGER | Page number |
page_size |
INTEGER | Results per page |
start_date |
DATE | Filter from this date |
end_date |
DATE | Filter until this date |
accessor_type |
STRING | Filter by accessor type |
user_uuid |
UUID | Filter by target user |
accessor_uuid |
UUID | Filter by accessor |
query |
STRING | Full-text search |
o |
STRING | Ordering field |
Ordering options: timestamp, -timestamp, accessor_type, -accessor_type,
user_username, -user_username, accessor_username, -accessor_username
Delete a Log Entry
1 | |
Deletes a specific data access log entry.
Permissions: Staff only (support users cannot delete).
Response: 204 No Content on success.
Response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
Accessor Types
| Type | Description | Anonymized Label |
|---|---|---|
staff |
Platform administrator | "Platform administrator" |
support |
Support staff | "Platform support staff" |
organization_member |
User in same org/project | "User in your organization" |
service_provider |
Provider via consent | "Service provider" |
self |
User accessing own data | "You" |
Tiered Visibility Model
The API implements privacy-preserving tiered visibility:
Regular users see:
- Administrative access: Description only (no counts, no names)
- Organizational access: Full peer details (names, roles)
- Service provider access: Offerings and exposed fields
- History: Anonymized accessor categories
Staff/Support users see:
- Administrative access: Counts and individual admin users
- Organizational access: Full details
- Service provider access: Including provider team members
- History: Full accessor identity, IP address, and context
Data Model
UserDataAccessLog
Stores audit trail of user data access events.
| Field | Type | Description |
|---|---|---|
uuid |
UUID | Unique identifier |
timestamp |
DateTime | When access occurred |
target_user |
FK(User) | User whose data was accessed |
accessor |
FK(User) | User who accessed the data |
accessor_type |
String | Type of accessor |
accessed_fields |
JSONField | List of fields accessed |
ip_address |
IPAddress | IP address of accessor |
context |
JSONField | Additional context (endpoint, method) |
Related Documentation
- User Profile Attributes - Profile attribute reference
- Per-Offering User Attribute Configuration - Provider attribute exposure
User Profile Attributes
Waldur supports a comprehensive set of user profile attributes sourced from identity providers (IdPs) via OIDC/SAML authentication. These attributes enable fine-grained access control, GDPR-compliant data handling, and integration with AAI (Authentication and Authorization Infrastructure) federations.
Attribute Categories
flowchart TD
subgraph Core["Core Attributes"]
C1[username]
C2[email]
C3[first_name]
C4[last_name]
end
subgraph Contact["Contact & Organization"]
CO1[phone_number]
CO2[organization]
CO3[job_title]
CO4[affiliations]
end
subgraph Personal["Personal Identity"]
P1[gender]
P2[personal_title]
P3[birth_date]
P4[place_of_birth]
end
subgraph Geographic["Geographic"]
G1[country_of_residence]
G2[nationality]
G3[nationalities]
end
subgraph OrgExt["Organization Extended"]
O1[organization_country]
O2[organization_type]
end
subgraph Identity["Identity & Assurance"]
I1[identity_source]
I2[civil_number]
I3[eduperson_assurance]
end
Attribute Reference
Core Attributes
| Attribute | Type | Description | OIDC Claim |
|---|---|---|---|
username |
String | Unique user identifier | sub |
email |
Primary email address | email |
|
first_name |
String | Given name | given_name |
last_name |
String | Family name | family_name |
Contact & Organization
| Attribute | Type | Description | OIDC Claim |
|---|---|---|---|
phone_number |
String | Phone number | phone_number |
organization |
String | Organization name | schac_home_organization, affiliation, org |
job_title |
String | Job title/position | - |
affiliations |
JSON | List of affiliations | voperson_external_affiliation |
Personal Identity
| Attribute | Type | Description | OIDC Claim |
|---|---|---|---|
gender |
Integer | ISO 5218 gender code | gender |
personal_title |
String | Honorific (Mr, Ms, Dr, Prof) | schacPersonalTitle |
birth_date |
Date | Date of birth | birthdate |
place_of_birth |
String | Place of birth | schacPlaceOfBirth |
Gender values (ISO 5218):
| Code | Description |
|---|---|
| 0 | Not known |
| 1 | Male |
| 2 | Female |
| 9 | Not applicable |
Geographic
| Attribute | Type | Description | OIDC Claim |
|---|---|---|---|
country_of_residence |
String | ISO 3166-1 alpha-2 code | schacCountryOfResidence |
nationality |
String | Primary citizenship (ISO 3166-1 alpha-2) | schacCountryOfCitizenship |
nationalities |
JSON | All citizenships (list of ISO 3166-1 alpha-2) | - |
Organization Extended
| Attribute | Type | Description | OIDC Claim |
|---|---|---|---|
organization_country |
String | Organization's country (ISO 3166-1 alpha-2) | org_country |
organization_type |
String | SCHAC organization type URN | schacHomeOrganizationType |
Common SCHAC organization types:
urn:schac:homeOrganizationType:int:universityurn:schac:homeOrganizationType:int:research-institutionurn:schac:homeOrganizationType:int:companyurn:schac:homeOrganizationType:int:government
Identity & Assurance
| Attribute | Type | Description | OIDC Claim |
|---|---|---|---|
identity_source |
String | Identity provider identifier | identity_source |
civil_number |
String | National ID number | schacPersonalUniqueID |
eduperson_assurance |
JSON | REFEDS assurance profile URIs | eduperson_assurance |
schacPersonalUniqueID format:
The schacPersonalUniqueID attribute uses a URN format that Waldur normalizes for consistent storage:
1 2 3 4 5 | |
OIDC Provider Configuration
Keycloak Attribute Mapping
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
eduTEAMS Attribute Mapping
1 2 3 4 5 6 7 8 9 10 11 | |
Attribute Protection
IdP-Controlled Fields
When users authenticate via external identity providers, certain fields become read-only to ensure data integrity. This is controlled via IdentityProvider.protected_fields.
flowchart LR
subgraph IdP["Identity Provider"]
ID[OIDC/SAML Claims]
end
subgraph Waldur["Waldur User Profile"]
UP[User]
UP --> |protected| F1[email]
UP --> |protected| F2[first_name]
UP --> |protected| F3[civil_number]
UP --> |editable| F4[phone_number]
end
subgraph UI["User Interface"]
UI1[Read-only fields]
UI2[Editable fields]
end
ID --> |sync| UP
F1 --> UI1
F2 --> UI1
F3 --> UI1
F4 --> UI2
Configuration
Protected fields are configured per identity provider:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Registration Method Protection
Users can have their profile fields globally protected based on their registration method:
1 2 3 4 5 6 7 8 | |
Feature Flags
User profile attributes can be enabled/disabled via feature flags under the user_profile section:
| Feature | Description |
|---|---|
user_profile.phone_number |
Enable phone number attribute |
user_profile.organization |
Enable organization attribute |
user_profile.job_title |
Enable job title attribute |
user_profile.affiliations |
Enable affiliations attribute |
user_profile.gender |
Enable gender attribute |
user_profile.personal_title |
Enable personal title |
user_profile.birth_date |
Enable birth date attribute |
user_profile.place_of_birth |
Enable place of birth |
user_profile.country_of_residence |
Enable country of residence |
user_profile.nationality |
Enable nationality |
user_profile.nationalities |
Enable multiple citizenships |
user_profile.organization_country |
Enable organization country |
user_profile.organization_type |
Enable organization type |
user_profile.eduperson_assurance |
Enable eduPerson assurance |
user_profile.civil_number |
Enable civil/national ID |
Enable via API:
1 2 3 4 5 6 7 | |
Mandatory User Attributes
Administrators can configure certain profile attributes as mandatory, requiring users to complete their profile before using the platform. This feature supports both soft enforcement (frontend prompts) and hard enforcement (API blocking).
Configuration
Two Constance settings control mandatory attributes:
| Setting | Type | Description |
|---|---|---|
MANDATORY_USER_ATTRIBUTES |
List | Attributes users must fill in |
ENFORCE_MANDATORY_USER_ATTRIBUTES |
Boolean | Enable API-level enforcement |
Configure via Django admin or API:
1 2 3 4 5 6 7 | |
Both settings are publicly accessible via /api/configuration/ for frontend integration.
Profile Completeness Check
Users can check their profile completeness status:
1 | |
Response:
1 2 3 4 5 6 | |
The /api/users/me/ endpoint also includes profile_completeness in its response.
Enforcement Modes
flowchart TD
subgraph Soft["Soft Enforcement (Default)"]
S1[Frontend reads MANDATORY_USER_ATTRIBUTES]
S2[Shows prompt to complete profile]
S3[User can still use API]
end
subgraph Hard["Hard Enforcement"]
H1[ENFORCE_MANDATORY_USER_ATTRIBUTES = true]
H2[API returns 428 Precondition Required]
H3[User must complete profile first]
end
Config[Configuration] --> |enforcement_enabled: false| Soft
Config --> |enforcement_enabled: true| Hard
Soft enforcement (recommended): Frontend uses the public settings and /me endpoint to prompt users to complete their profile. Users can still access the API.
Hard enforcement: When ENFORCE_MANDATORY_USER_ATTRIBUTES is true, users with incomplete profiles receive HTTP 428 errors:
1 2 3 4 5 | |
Staff users bypass enforcement checks.
Available Mandatory Attributes
Any user profile attribute can be made mandatory:
- Core:
first_name,last_name,email - Contact:
phone_number,organization,job_title - Identity:
civil_number,affiliations - Personal:
gender,birth_date,nationality
See Attribute Reference for the complete list.
Access Control Based on Attributes
User profile attributes can be used for access control in:
- Customer/Project restrictions: Limit membership based on nationality, organization type, or assurance level
- GroupInvitation filtering: Control who can request access
- Auto-provisioning rules: Match users for automatic project creation
See Invitations and Auto-Provisioning for details.
Per-Offering Attribute Exposure
Service providers can configure which user attributes are exposed for their offerings via OfferingUserAttributeConfig. This supports GDPR compliance by declaring what personal data is processed.
See Offering Users for details.
Data Sources
User profile data can come from:
- Identity Provider (IdP): Claims from OIDC/SAML authentication (highest priority)
- User self-assertion: Manual profile editing (when fields are not protected)
- NOT from invitations: Invitation fields are for email personalization only and are never copied to user profiles
This hierarchy ensures data integrity while allowing users to maintain their profiles when IdP data is not available.
Waldur CI/CD
General Architecture
Waldur uses CI/CD approach for testing, packaging and deployment. The approach is implemented with GitLab CI system. It provides a framework for building pipelines. A pipeline consists of a sequence of stages, each of which depends on the result of a predecessor and includes smaller parts called jobs. A job is a sequence of actions executed for a specific purpose, e.g., testing an application.
The entire CI/CD pipeline consists of smaller pipelines, each of which resides in a corresponding repository and belongs to a particular part.
The CI pipelines are created for the following modules:
- Waldur Mastermind - REST API backend
- Waldur Homeport - frontend module
- Waldur Docker Compose - configuration for single-node deployment via Docker Compose
- Waldur Helm Chart - package with templates of Kubernetes manifests for workload resources
The CD pipelines were created for several Waldur deployments like Waldur development or production.
The following diagram illustrates the general picture of the pipeline.
Pipeline architecture for Waldur Components
Waldur components are the separate applications of Waldur. The two major ones are Waldur Mastermind and Waldur Homeport.
There are three main stages in the pipeline:
- Test, where the source code lint and unit testing takes place. This stage runs for each commit in a merge request and for the main branch commits;
- Build, where Docker image is being built. This stage runs for the main branch commits;
- Release, where Docker image from the last stage is being published in Docker Hub registry. This stage runs for the main branch commits.
Pipeline architecture for Waldur Deployment Templates
Waldur deployment templates are the configurations for different deployment environments. Currently, Waldur supports Docker Compose and Kubernetes. The structure of the latter one is based on Helm technology. The pipeline is shown below.
This pipeline includes two stages:
- Test, where the source code lint and configuration testing takes place. This stage runs for each commit in a merge request and the main branch commits;
- Release, where the configuration is published to GitHub. This step is implemented with GitLab mirroring.
Pipeline architecture for Waldur Deployments
In this context, deployments are repositories with values for further insertion into Waldur Deployment Templates. For example, they can be values for environmental variables used in Waldur containers. The pipeline is shown below.
There are three independent stages:
- Deploy, where Waldur release is installed or updated. This stage runs only for main branch commits. For Docker Compose environment, this stage is triggered automatically. For Kubernetes, it runs automatically only for update operations, while installation requires a manual trigger. Also, the update action runs by a schedule, e.g. at 5 AM;
- Test, where the running Waldur instance is tested. For example, it checks availability via HTTP requests sent to public Waldur endpoints;
- Undeploy, which removes the Waldur instance. This stage can be triggered only manually.
Plugins ↵
JIRA plugin
Configuration
-
Define active backend.
1 2 3 4 5 6 7 8
# For Service Desk WALDUR_SUPPORT.update({ 'ACTIVE_BACKEND': 'waldur_mastermind.support.backend.atlassian:ServiceDeskBackend', }) # For JIRA WALDUR_SUPPORT.update({ 'ACTIVE_BACKEND': 'waldur_mastermind.support.backend.atlassian:JiraBackend', }) -
Setup connection. Define server URL and user details to connect JIRA or Service Desk to Waldur:
1 2 3 4 5
WALDUR_SUPPORT['CREDENTIALS'].update({ 'server': <server URL>, 'username': <Atlassian user username>, 'password': <Atlassian user password>, }) -
Project setup. Define project key.
1 2 3
WALDUR_SUPPORT['PROJECT'].update({ 'key': <project key>, }) -
Project issues setup.
4.1. Make sure that selected project supports registered types of issues:
WALDUR_SUPPORT['ISSUE']['types'].4.2. Make sure that project issues have fields that corresponds to
impact_field,reporter_field,caller_field. It is possible to override default field names:
1 2 3 4 5WALDUR_SUPPORT['ISSUE'].update({ 'impact_field': <issue impact field name in JIRA or Service desk>, 'reporter_field': <issue reporter field name in JIRA or Service desk>, 'caller_field': <issue caller field name in JIRA or Service desk>, })
Web hook installation
It's possible to track updates of JIRA issues and apply them to Waldur immediately.
An instruction of JIRA configuration can be found at https://developer.atlassian.com/jiradev/jira-apis/webhooks
Step by step guide:
-
Log in to JIRA as administrator
-
Click on a cogwheel in the upper right corner and pick 'System'.
-
Scroll down to the lower left corner and find a "WebHook" option under the Advanced tab.
-
Now click on "Create a Web Hook" You will be presented with a web hook creation view. There are only 3 mandatory fields - Name, Status and URL.
4.1 Name your hook
4.2 Select whether you want to enable it. It can be disabled at any moment from to the same menu.
4.3 Configure a URL to send a POST request to. For instance: https://waldur.example.com/api/support-jira-webhook/ It is not needed to add any additional fields to request.
*Note: In case of VirtualBox localhost usually is 10.0.2.2. So the complete URL will be next:
http://10.0.2.2:8000/api/support-jira-webhook/*4.4 Add a description.
4.5 Please make sure you've picked 'created, updated and deleted' actions under 'Events' section. No need to to check Comments events, they will be synced by the issue triggers.
4.6 Save configuration.
OpenStack Replication Plugin
Introduction
The OpenStack Replication plugin extends Waldur's capabilities by enabling cross-tenant migration and replication of OpenStack infrastructure. This plugin allows organizations to migrate complete OpenStack tenants between different OpenStack service providers or regions while preserving network configurations, security groups, and other infrastructure components.
Core Functionality
The plugin enables:
- Tenant Migration: Complete migration of OpenStack tenants between service providers
- Network Replication: Copy network topologies, subnets, and routing configurations
- Security Group Migration: Replicate security groups and their rules with proper references
- Port Synchronization: Migrate port configurations including fixed IPs and security associations
- Volume Type Mapping: Map volume types between source and destination environments
- Quota Preservation: Maintain resource limits during migration
- Selective Migration: Choose specific networks and resources to migrate
Architecture
Core Models
Migration
The central model that tracks migration operations between OpenStack tenants:
1 2 3 4 5 | |
Key Features:
- State Tracking: Uses
StateMixinfor migration progress monitoring - User Attribution: Links migrations to specific users for auditing
- Resource Linking: Connects source and destination marketplace resources
- Flexible Mappings: JSON field stores complex migration configurations
Permissions: Only users who created migrations can access them
Migration Configuration
Mapping Options
The migration system supports flexible mapping configurations:
1 2 3 4 5 6 | |
Volume Type Mapping:
- Maps source volume types to destination equivalents
- Preserves quota allocations across different storage backends
- Validates that types exist in respective environments
Subnet Mapping:
- Allows CIDR remapping for network conflicts
- Validates private subnet CIDR formats
- Automatically adjusts allocation pools for new CIDRs
Migration Process
1. Migration Creation
API Endpoint: POST /api/openstack-migrations/
Required Parameters:
src_resource: UUID of source marketplace resource (OpenStack tenant)dst_offering: UUID of destination marketplace offeringdst_plan: UUID of plan for destination resource
Optional Parameters:
name: Custom name for destination resourcedescription: Description for destination resourcemappings: Configuration object for advanced mapping options
2. Resource Replication
The creation process involves several atomic steps:
- Destination Tenant Creation: Creates new tenant with generated credentials
- Network Topology Copy: Replicates networks, subnets, and routing
- Security Group Migration: Copies groups and rules with proper references
- Quota Application: Maps and applies resource limits
- Marketplace Integration: Creates destination resource record
3. Execution Pipeline
MigrationExecutor orchestrates the migration using Celery task chains:
1 2 3 4 5 6 7 | |
Task Flow:
- State Transition: Mark migration as "creating"
- Tenant Provisioning: Execute OpenStack tenant creation workflow
- Port Replication: Copy ports if
sync_instance_portsenabled
Network Migration Details
Network and Subnet Replication
The system performs network topology migration:
Networks:
- Preserves MTU settings and descriptions
- Maintains network names for consistency
- Creates equivalent networks in destination tenant
Subnets:
- Supports CIDR remapping via subnet mappings
- Preserves DNS nameservers and host routes
- Adjusts allocation pools for remapped CIDRs
- Maintains gateway configuration
Example Network Selection:
1 2 3 4 5 6 7 8 | |
Security Group Migration
Security Groups:
- Copies all security groups with names and descriptions
- Maintains group relationships for inter-group references
- Creates equivalent groups in destination tenant
Security Rules:
- Replicates all rule configurations (protocol, ports, direction)
- Maps CIDR ranges according to subnet mappings
- Resolves remote group references after all groups are created
- Handles both ingress and egress rules
Router Configuration
Static Route Filtering:
- Only migrates routes targeting destination subnet CIDRs
- Prevents invalid route configurations in new environment
- Preserves nexthop configurations where applicable
Port Synchronization
Advanced Port Migration
When sync_instance_ports is enabled, the system performs detailed port replication:
Port Types Handled:
- Instance Ports: Ports connected to active instances (state=OK)
- VIP Ports: Free ports in DOWN state for virtual IPs (
device_owner="compute:nova")
Port Migration Process:
- Data Collection: Gather port configuration from source
- Security Group Mapping: Map security groups to destination equivalents
- Port Creation: Create port with preserved configuration
- Subnet Resolution: Update fixed IPs to use destination subnet IDs
- Backend Provisioning: Execute OpenStack port creation via backend
Port Data Structure:
1 2 3 4 5 6 7 8 9 10 11 | |
Quota and Limit Handling
Quota Preservation (serializers.py:318)
Standard Limits:
All marketplace limits are preserved:
- CPU cores, RAM, storage quotas
- Network and security group limits
- Instance and volume quotas
Volume Type Quota Mapping:
- Aggregates quotas for mapped volume types
- Handles multiple source types mapping to single destination type
- Preserves total storage allocation across type changes
Quota Application (serializers.py:376):
1 2 3 4 5 6 7 | |
Event Handling
Migration Lifecycle
Order Creation: When migration completes, marketplace orders are automatically created:
1 2 3 4 5 6 7 8 | |
Benefits:
- Proper marketplace integration for billing and tracking
- Audit trail for migration operations
- Integration with approval workflows
API Reference
Migration Management
Create Migration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
List Migrations
1 | |
Filters Available:
src_resource_uuid: Filter by source resource UUIDdst_resource_uuid: Filter by destination resource UUID
Migration Details Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Configuration Options
Network Selection
- All Networks: Default behavior migrates all networks and subnets
- Selective Networks: Use
networksarray to specify which networks to migrate - Subnet Remapping: Provide CIDR mappings to avoid IP conflicts
Port Synchronization Options
- Instance Ports: Automatically included when
sync_instance_ports=true - VIP Ports: Free ports for virtual IP configurations
- Security Group Mapping: Preserves security associations
Volume Type Handling
- One-to-One Mapping: Map each source type to destination equivalent
- Many-to-One Mapping: Aggregate multiple source types to single destination
- Quota Aggregation: Automatically sums quotas for merged types
Validation Rules
Pre-Migration Checks (serializers.py:156)
- Source Resource Validation:
- Must have limits configured
-
Must be accessible to requesting user
-
Destination Offering Validation:
- Must be available for ordering by user
-
Plan must belong to selected offering
-
Permission Validation:
- User must have tenant creation permissions in target project
-
Order must not require consumer review (auto-approved)
-
Mapping Validation:
- Volume types must exist in respective environments
- Cannot combine
sync_instance_portswith subnet mappings - Subnet CIDRs must be valid private network ranges
Error Handling
Migration Failures
- Object Not Found: Gracefully handles missing dependencies
- Backend Errors: Properly propagates OpenStack API failures
- Validation Errors: Clear error messages for configuration issues
- State Management: Failed migrations marked as ERRED with error details
Recovery Mechanisms
- Partial Success: Network migration continues even if some components fail
- Security Group Recovery: Handles missing security groups during port creation
- Route Validation: Filters invalid routes to prevent configuration errors
Integration with Marketplace
Resource Lifecycle
- Resource Creation: Destination resource created before migration starts
- Order Generation: Marketplace order created on migration completion
- Billing Integration: Proper cost tracking for migrated resources
- State Synchronization: Resource state reflects migration progress
Permissions Integration
- Uses marketplace permission system for access control
- Integrates with project-level permissions
- Respects offering availability rules
Performance Considerations
Transaction Safety
- Uses
@transaction.atomicfor data consistency - Commits migration execution after successful creation
- Prevents partial state corruption during failures
Async Execution
- Migration execution happens asynchronously via Celery
- Non-blocking API responses with immediate migration record
- Background processing for time-intensive operations
Resource Optimization
- Selective network migration reduces unnecessary copying
- Efficient quota aggregation for volume type mappings
- Optimized ancestor traversal in quota calculations
Use Cases
1. Service Provider Migration
Migrate tenants between different OpenStack clouds:
1 2 3 4 5 6 7 8 9 | |
2. Development Environment Replication
Copy production tenant to development environment:
1 2 3 4 5 6 7 8 9 10 | |
3. Disaster Recovery Setup
Replicate critical infrastructure with port synchronization:
1 2 3 4 5 6 7 8 | |
Limitations and Considerations
Current Limitations
- Instance Migration: Does not migrate actual VM instances (infrastructure only)
- Volume Data: Does not copy volume data (structure only)
- Floating IPs: External network connections not fully replicated
- Custom Metadata: Some OpenStack metadata may not be preserved
Security Considerations
- Credential Generation: New tenant gets fresh random credentials
- Network Isolation: Maintains network isolation in destination environment
- Permission Boundaries: Respects Waldur's permission system throughout
Planning Considerations
- IP Address Conflicts: Plan subnet mappings to avoid IP conflicts
- Volume Type Availability: Ensure destination volume types exist
- Quota Limits: Verify destination environment can accommodate quotas
- Network Dependencies: Consider external network connectivity requirements
Testing
The plugin includes comprehensive test coverage:
Migration Tests (tests/test_migration.py)
- Basic Migration: Validates complete tenant migration workflow
- Network Selection: Tests selective network migration
- Volume Type Mapping: Verifies quota aggregation across type mappings
- Security Group Replication: Ensures proper rule and reference handling
- Error Handling: Tests graceful failure scenarios
Port Task Tests
- Port Creation: Validates successful port replication
- Error Recovery: Tests handling of missing dependencies
- Security Group Association: Verifies proper security group mapping
Configuration
App Registration (apps.py:5)
1 2 3 4 5 6 | |
URL Configuration (urls.py:4)
1 2 3 | |
Extension Integration (extension.py:4)
1 2 3 4 | |
Best Practices
Migration Planning
- Pre-Migration Analysis: Review source tenant configuration
- Quota Verification: Ensure destination has sufficient quotas
- Network Planning: Design subnet mappings to avoid conflicts
- Volume Type Mapping: Map storage types based on performance requirements
Execution Guidelines
- Test Migrations: Perform test migrations before production
- Selective Migration: Use network selection for large tenants
- Monitor Progress: Track migration state through API
- Post-Migration Validation: Verify all components migrated correctly
Troubleshooting
- Check Logs: Review migration error messages and tracebacks
- Validate Permissions: Ensure proper access to source and destination
- Verify Dependencies: Confirm all required resources exist
- Resource Cleanup: Clean up failed migrations manually if needed
OpenStack Plugin
Introduction
The OpenStack plugin for Waldur provides comprehensive integration with OpenStack cloud infrastructure, enabling organizations to manage OpenStack resources through Waldur's unified platform. This plugin acts as a bridge between Waldur's resource management capabilities and OpenStack's Infrastructure-as-a-Service (IaaS) offerings.
Core Functionality
The plugin enables:
- Multi-tenant Resource Management: Create and manage OpenStack projects (tenants) with isolated resources
- Compute Resource Provisioning: Deploy and manage virtual machines with full lifecycle control
- Storage Management: Provision block storage volumes, create snapshots, and manage backups
- Network Configuration: Set up virtual networks, subnets, routers, and security policies
- Quota Management: Synchronize and enforce resource quotas between Waldur and OpenStack
- Cross-tenant Resource Sharing: Share networks between tenants using RBAC policies
- Automated Resource Discovery: Import existing OpenStack resources into Waldur
- Console Access: Provide direct console access to virtual machines
Supported Operations by OpenStack Service
Keystone (Identity Service)
| Operation | Description | API Endpoint |
|---|---|---|
| Tenant Creation | Create new OpenStack projects/tenants | POST /api/openstack-tenants/ |
| Tenant Deletion | Remove OpenStack projects | DELETE /api/openstack-tenants/{uuid}/ |
| Authentication | Manage tenant credentials | Handled internally |
| Quota Retrieval | Fetch tenant quotas | GET /api/openstack-tenants/{uuid}/quotas/ |
| Quota Update | Modify tenant quotas | POST /api/openstack-tenants/{uuid}/set_quotas/ |
Nova (Compute Service)
| Operation | Description | API Endpoint |
|---|---|---|
| Instances | ||
| Create Instance | Launch new virtual machines | POST /api/openstack-instances/ |
| Delete Instance | Terminate virtual machines | DELETE /api/openstack-instances/{uuid}/ |
| Start Instance | Power on virtual machines | POST /api/openstack-instances/{uuid}/start/ |
| Stop Instance | Power off virtual machines | POST /api/openstack-instances/{uuid}/stop/ |
| Restart Instance | Reboot virtual machines | POST /api/openstack-instances/{uuid}/restart/ |
| Resize Instance | Change instance flavor | POST /api/openstack-instances/{uuid}/change_flavor/ |
| Console Access | Get VNC console URL | POST /api/openstack-instances/{uuid}/console/ |
| Attach Volume | Connect storage to instance | POST /api/openstack-instances/{uuid}/attach_volume/ |
| Detach Volume | Disconnect storage from instance | POST /api/openstack-instances/{uuid}/detach_volume/ |
| Assign Floating IP | Attach public IP | POST /api/openstack-instances/{uuid}/assign_floating_ip/ |
| Flavors | ||
| List Flavors | Get available VM sizes | GET /api/openstack-flavors/ |
| Import Flavors | Sync flavors from backend | POST /api/openstack-tenants/{uuid}/pull_flavors/ |
| Images | ||
| List Images | Get available OS images | GET /api/openstack-images/ |
| Import Images | Sync images from backend | POST /api/openstack-tenants/{uuid}/pull_images/ |
| Server Groups | ||
| Create Server Group | Set up affinity policies | POST /api/openstack-server-groups/ |
| Delete Server Group | Remove affinity policies | DELETE /api/openstack-server-groups/{uuid}/ |
| Availability Zones | ||
| List AZs | Get compute availability zones | GET /api/openstack-instance-availability-zones/ |
Cinder (Block Storage Service)
| Operation | Description | API Endpoint |
|---|---|---|
| Volumes | ||
| Create Volume | Provision block storage | POST /api/openstack-volumes/ |
| Delete Volume | Remove block storage | DELETE /api/openstack-volumes/{uuid}/ |
| Extend Volume | Increase volume size | POST /api/openstack-volumes/{uuid}/extend/ |
| Attach to Instance | Connect volume to VM | POST /api/openstack-volumes/{uuid}/attach/ |
| Detach from Instance | Disconnect volume from VM | POST /api/openstack-volumes/{uuid}/detach/ |
| Create from Snapshot | Restore volume from snapshot | POST /api/openstack-volumes/{uuid}/create_from_snapshot/ |
| Snapshots | ||
| Create Snapshot | Create volume snapshot | POST /api/openstack-snapshots/ |
| Delete Snapshot | Remove snapshot | DELETE /api/openstack-snapshots/{uuid}/ |
| Restore Snapshot | Create volume from snapshot | POST /api/openstack-snapshots/{uuid}/restore/ |
| Volume Types | ||
| List Volume Types | Get storage types (SSD/HDD) | GET /api/openstack-volume-types/ |
| Import Volume Types | Sync types from backend | POST /api/openstack-tenants/{uuid}/pull_volume_types/ |
| Backups | ||
| Create Backup | Create volume backup | POST /api/openstack-backups/ |
| Delete Backup | Remove backup | DELETE /api/openstack-backups/{uuid}/ |
| Restore Backup | Restore volume from backup | POST /api/openstack-backups/{uuid}/restore/ |
Neutron (Networking Service)
| Operation | Description | API Endpoint |
|---|---|---|
| Networks | ||
| Create Network | Set up virtual network | POST /api/openstack-networks/ |
| Delete Network | Remove virtual network | DELETE /api/openstack-networks/{uuid}/ |
| Update Network | Modify network properties | PATCH /api/openstack-networks/{uuid}/ |
| Subnets | ||
| Create Subnet | Define IP address pool | POST /api/openstack-subnets/ |
| Delete Subnet | Remove subnet | DELETE /api/openstack-subnets/{uuid}/ |
| Update Subnet | Modify subnet configuration | PATCH /api/openstack-subnets/{uuid}/ |
| Routers | ||
| Create Router | Set up network router | POST /api/openstack-routers/ |
| Delete Router | Remove router | DELETE /api/openstack-routers/{uuid}/ |
| Add Interface | Connect subnet to router | POST /api/openstack-routers/{uuid}/add_interface/ |
| Remove Interface | Disconnect subnet from router | POST /api/openstack-routers/{uuid}/remove_interface/ |
| Set Gateway | Configure external gateway | POST /api/openstack-routers/{uuid}/set_gateway/ |
| Ports | ||
| Create Port | Create network interface | POST /api/openstack-ports/ |
| Delete Port | Remove network interface | DELETE /api/openstack-ports/{uuid}/ |
| Update Port | Modify port configuration | PATCH /api/openstack-ports/{uuid}/ |
| Floating IPs | ||
| Allocate Floating IP | Reserve public IP | POST /api/openstack-floating-ips/ |
| Release Floating IP | Release public IP | DELETE /api/openstack-floating-ips/{uuid}/ |
| Associate Floating IP | Attach to instance | POST /api/openstack-floating-ips/{uuid}/assign/ |
| Disassociate Floating IP | Detach from instance | POST /api/openstack-floating-ips/{uuid}/unassign/ |
| Security Groups | ||
| Create Security Group | Set up firewall rules | POST /api/openstack-sgp/ |
| Delete Security Group | Remove firewall rules | DELETE /api/openstack-sgp/{uuid}/ |
| Add Rule | Create firewall rule | POST /api/openstack-sgp/{uuid}/rules/ |
| Remove Rule | Delete firewall rule | DELETE /api/openstack-sgp/{uuid}/rules/{rule_id}/ |
| RBAC Policies | ||
| Create RBAC Policy | Share network between tenants | POST /api/openstack-network-rbac-policies/ |
| List RBAC Policies | View sharing policies | GET /api/openstack-network-rbac-policies/ |
Glance (Image Service)
| Operation | Description | API Endpoint |
|---|---|---|
| List Images | Get available images | GET /api/openstack-images/ |
| Import Images | Sync images from Glance | Handled via tenant sync |
| Image Metadata | Get image properties | Included in image list |
| Custom Images | ||
| Create Custom Image | Create image metadata | POST /api/openstack-marketplace/{tenant_uuid}/create_image/ |
| Upload Image Data | Upload binary image data | POST /api/openstack-marketplace/{tenant_uuid}/upload_image_data/{image_id}/ |
Custom Image Upload Workflow
The OpenStack plugin provides a two-step process for uploading custom images to OpenStack Glance, enabling users to create and use their own VM images.
Overview
The image upload process consists of two sequential API calls:
- Create Image Metadata: Creates an empty image record in OpenStack with metadata
- Upload Image Data: Streams the actual image file content to OpenStack
Step 1: Create Image Metadata
Endpoint: POST /api/openstack-marketplace/{tenant_uuid}/create_image/
Creates an image metadata record in OpenStack Glance and returns an upload URL.
Required Parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
name |
string | Image name | Required |
disk_format |
string | Disk format | qcow2 |
container_format |
string | Container format | bare |
visibility |
string | Image visibility | private |
min_disk |
integer | Minimum disk size (GB) | 0 |
min_ram |
integer | Minimum RAM (MB) | 0 |
Supported Disk Formats
qcow2- QEMU Copy On Write (recommended)raw- Raw disk imagevhd- Virtual Hard Diskvmdk- VMware Virtual Machine Diskvdi- VirtualBox Disk Imageiso- ISO 9660 disk imageaki,ami,ari- Amazon kernel/machine/ramdisk images
Supported Container Formats
bare- No container (most common)ovf- Open Virtualization Formataki,ami,ari- Amazon formats
Example Request
1 2 3 4 5 6 7 8 | |
Example Response
1 2 3 4 5 6 | |
Step 2: Upload Image Data
Endpoint: POST /api/openstack-marketplace/{tenant_uuid}/upload_image_data/{image_id}/
Uploads the binary image file content to the previously created image.
Request Format
- Content-Type:
application/octet-stream - Body: Raw binary image file data
- Method: HTTP PUT (internally) to OpenStack Glance
Example using curl
1 2 3 4 5 | |
Example Response
1 2 3 4 | |
Implementation Details
Backend Workflow
- Authentication: Uses tenant-specific OpenStack session
- Streaming: Uploads data in 8KB chunks to handle large files efficiently
- Direct API: Makes direct HTTP PUT to Glance API v2 (
/v2/images/{image_id}/file) - Verification: Confirms image exists in Glance after upload
Permission Requirements
- Service Provider Permission:
SERVICE_PROVIDER_OPENSTACK_IMAGE_MANAGEMENTrequired for public images - Tenant Access: User must have access to the target OpenStack tenant
- Offering Context: Image limits are enforced based on the marketplace offering configuration
Size and Count Limits
The plugin enforces configurable limits:
| Limit Type | Configuration Key | Description |
|---|---|---|
| Total Image Count | image_count_total_limit |
Maximum number of images per tenant |
| Total Image Size | image_size_total_limit |
Maximum total size of all images (bytes) |
Limits are checked before creation and upload respectively.
Error Handling
Common error scenarios:
| Error | Cause | Solution |
|---|---|---|
Image ID is required |
Missing image_id in URL path | Ensure correct URL format |
Image count limit exceeded |
Too many images in tenant | Remove unused images |
Image size limit would be exceeded |
File too large | Use smaller image or increase limits |
HTTPX request failed |
Network/connectivity issue | Check OpenStack connectivity |
Verification failed |
Image not found after upload | Retry upload or check OpenStack logs |
Security Considerations
- File Size Validation: Content-Length header used to validate file size before upload
- Permission Checks: Public image creation requires special permissions
- Streaming Upload: Large files handled via streaming to prevent memory issues
- SSL Verification: Configurable SSL verification for OpenStack API calls
Troubleshooting
- Upload Timeouts: Large images may require extended timeout settings
- SSL Issues: Verify
verify_sslsetting in service configuration - Quota Exceeded: Check OpenStack image quotas in addition to Waldur limits
- Format Validation: Ensure disk_format and container_format are compatible
Network Requirements
Required Network Connectivity
The following table outlines the network ports and protocols required for Waldur to communicate with OpenStack services:
| Service | Port | Protocol | Direction | Description | Required |
|---|---|---|---|---|---|
| Keystone (Identity) | 5000 | HTTPS/HTTP | Outbound | Public API endpoint for authentication | ✅ Yes |
| Keystone (Admin) | 35357 | HTTPS/HTTP | Outbound | Admin API endpoint (deprecated in newer versions) | ⚠️ Version dependent |
| Nova (Compute) | 8774 | HTTPS/HTTP | Outbound | Compute API for instance management | ✅ Yes |
| Cinder (Block Storage) | 8776 | HTTPS/HTTP | Outbound | Volume API for storage management | ✅ Yes |
| Neutron (Networking) | 9696 | HTTPS/HTTP | Outbound | Network API for networking operations | ✅ Yes |
| Glance (Images) | 9292 | HTTPS/HTTP | Outbound | Image API for image management | ✅ Yes |
| Nova VNC Console | 6080 | HTTPS/HTTP | Outbound | VNC console proxy for instance access | ⚠️ Optional* |
| Horizon Dashboard | 80/443 | HTTPS/HTTP | Outbound | Generate links to OpenStack web UI for users | ⚠️ Optional** |
* Required only if console access feature is enabled * Only used to generate dashboard URLs for user convenience; not required for API operations*
Network Configuration Notes
- SSL/TLS Requirements:
- HTTPS is strongly recommended for all API communications
- Self-signed certificates are supported but require configuration
-
Certificate validation can be disabled for testing (not recommended for production)
-
Firewall Considerations:
- All connections are initiated from Waldur to OpenStack (outbound only)
- No inbound connections to Waldur are required from OpenStack
-
Stateful firewall rules should allow return traffic
-
API Endpoint Discovery:
- Waldur uses Keystone service catalog for endpoint discovery
- Only the Keystone endpoint needs to be explicitly configured
-
Other service endpoints are automatically discovered from the service catalog
-
Network Latency:
- API timeout: 60 seconds (configurable)
- Recommended latency: < 100ms
- Long-running operations use asynchronous task queues
Configuration
Marketplace-Based Configuration
OpenStack integration in Waldur is configured through Marketplace offerings. The plugin provides three offering types for different resource levels:
| Offering Type | Purpose | Resource Scope |
|---|---|---|
OpenStack.Tenant |
Provision and manage OpenStack projects/tenants | Provider-level |
OpenStack.Instance |
Provision virtual machines within a tenant | Tenant-level |
OpenStack.Volume |
Provision block storage volumes within a tenant | Tenant-level |
Configuring an OpenStack Provider
To set up an OpenStack provider, create a Marketplace offering of type OpenStack.Tenant with the following configuration:
Required Connection Settings
| Parameter | Location | Description | Example |
|---|---|---|---|
backend_url |
secret_options | Keystone API endpoint URL | https://keystone.example.com:5000/v3 |
username |
secret_options | Admin account username | admin |
password |
secret_options | Admin account password | secure_password |
tenant_name |
secret_options | Admin tenant/project name | admin |
domain |
secret_options | Keystone domain (v3 only) | default |
Network Configuration
| Parameter | Location | Description | Required |
|---|---|---|---|
external_network_id |
secret_options | UUID of external network for floating IPs | Yes |
default_internal_network_mtu |
plugin_options | MTU for tenant internal networks (68-9000) | No |
ipv4_external_ip_mapping |
secret_options | NAT mapping for floating IPs | No |
Optional Settings
| Parameter | Location | Description | Default |
|---|---|---|---|
access_url |
options | Horizon dashboard URL for user links | Generated from backend_url |
verify_ssl |
options | Verify SSL certificates | true |
availability_zone |
options | Default availability zone | nova |
storage_mode |
plugin_options | Storage quota mode (fixed or dynamic) |
fixed |
Storage Modes
The plugin supports two storage quota modes:
| Mode | Description | Use Case |
|---|---|---|
fixed |
Single storage quota shared by all volume types | Simple environments with uniform storage |
dynamic |
Separate quotas per volume type (SSD, HDD, etc.) | Environments with tiered storage offerings |
When using dynamic storage mode, volume types are automatically synchronized from OpenStack and created as offering components.
Resource Components
OpenStack tenant offerings include the following billable components:
| Component Type | Description | Unit | Default Limit |
|---|---|---|---|
cores |
CPU cores | Count | 20 |
ram |
Memory | MB | 51200 |
storage |
Block storage (fixed mode) | MB | 1048576 |
volume_type_* |
Per-type storage (dynamic mode) | MB | Varies |
Automated Private Offerings
When AUTOMATICALLY_CREATE_PRIVATE_OFFERING is enabled in settings, the plugin automatically creates private offerings for instances and volumes when a tenant is provisioned. This allows tenant users to order resources through the Marketplace interface.
Quota Mapping
OpenStack quotas are automatically synchronized with Waldur quotas:
| OpenStack Quota | Waldur Quota | Default Limit |
|---|---|---|
| cores | vcpu | 20 |
| ram | ram | 51200 MB |
| instances | instances | 30 |
| volumes | volumes | 50 |
| gigabytes | storage | 1024 GB |
| snapshots | snapshots | 50 |
| security_groups | security_group_count | 100 |
| security_group_rules | security_group_rule_count | 100 |
| floatingip | floating_ip_count | 50 |
| network | network_count | 10 |
| subnet | subnet_count | 10 |
| port | port_count | Unlimited |
Scheduled Tasks
The plugin runs the following automated tasks:
| Task | Schedule | Purpose |
|---|---|---|
| Pull Quotas | Every 12 hours | Synchronize quotas with OpenStack |
| Pull Resources | Every 1 hour | Update resource states |
| Pull Sub-resources | Every 2 hours | Sync networks, subnets, ports |
| Pull Properties | Every 24 hours | Update flavors, images, volume types |
| Cleanup Stuck Resources | Every 1 hour | Mark stuck resources as erred |
| Delete Expired Backups | Every 10 minutes | Remove backups past retention |
| Delete Expired Snapshots | Every 10 minutes | Remove snapshots past retention |
Security and Troubleshooting
- Credential Management:
- Service account credentials are stored in database
secret_optionsfield - Per-tenant credentials are auto-generated using random passwords
- Tenant credentials visibility can be controlled via
TENANT_CREDENTIALS_VISIBLEsetting -
SSH keys are automatically distributed to tenants based on user permissions
-
Network Security:
- Security groups provide instance-level firewalling
- Default deny-all policy for new security groups
- RBAC policies control cross-tenant network resource sharing
-
External IP mapping supports NAT scenarios
-
Audit Logging:
- All operations are logged with user attribution
- Resource state changes tracked in event log
- Failed operations logged with error details
- Quota changes trigger audit events
Common Issues
- Connection Timeouts:
- Verify network connectivity to Keystone endpoint
- Check firewall rules for required ports
-
Validate SSL certificates if using HTTPS
-
Authentication Failures:
- Verify service account credentials
- Check domain configuration for Keystone v3
-
Ensure service account has admin privileges
-
Quota Synchronization Issues:
- Check OpenStack policy files for quota permissions
- Verify nova, cinder, and neutron quota drivers
-
Review background task logs
-
Resource State Mismatches:
- Trigger manual pull operation
- Check OpenStack service status
- Review executor task logs
Marketplace Integration
The OpenStack plugin integrates with Waldur Marketplace through the marketplace_openstack module, providing:
- Simplified instance and volume ordering
- Component-based pricing (CPU, RAM, Storage)
- Automated provisioning workflows
- Resource metadata management
- Usage tracking for billing
API Reference
For detailed API documentation, refer to the Waldur API schema at /api/schema/ with the OpenStack plugin enabled.
Waldur plugins
Plugin as extension
Waldur extensions are developed as auto-configurable plugins. One plugin can contain several extensions which is a pure Django application by its own. In order to be recognized and automatically connected to Waldur some additional configuration required.
Extensions' URLs will be registered automatically only if
settings.WALDUR_CORE['EXTENSIONS_AUTOREGISTER'] is True, which is
default.
Create a class inherited from
waldur_core.core.WaldurExtension. Implement methods which
reflect your app functionality. At least django_app()
should be implemented.
Add an entry point of name waldur_extensions to pyproject.toml:
1 2[project.entry-points.waldur_extensions] waldur_demo = "waldur_demo.extension:DemoExtension"
Plugin documentation
-
Keep plugin's documentation within plugin's code repository.
-
The documentation page should start with plugin's title and description.
-
Keep plugin's documentation page structure similar to the Waldur's main documentation page:
Guide - should contain at least installation steps. API - should include description of API extension, if any.
Waldur Rancher Integration - Technical Architecture Overview
Executive Summary
The waldur_rancher application is a Kubernetes cluster management system that integrates Rancher with Waldur's multi-tenant cloud orchestration platform. This integration provides role-based access control (RBAC), secure cluster bootstrapping, multi-cloud support, and lifecycle management for Kubernetes resources.
High-Level System Design
System Overview
The Waldur Rancher integration operates as a sophisticated multi-layer orchestration system that bridges user requests from the marketplace through to actual Kubernetes cluster provisioning. The system consists of three primary integration modules that work together to deliver enterprise-grade Kubernetes-as-a-Service.
graph TB
subgraph "User Interface Layer"
UI[Waldur Frontend]
API[Waldur REST API]
end
subgraph "Marketplace Layer"
MPO[Marketplace Offering]
MPR[Marketplace Resource]
PROC[RancherCreateProcessor]
end
subgraph "Orchestration Layer"
RB[Rancher Backend]
VB[Vault Backend]
KB[Keycloak Backend]
EXEC[Cluster Executors]
end
subgraph "Infrastructure Layer"
RS[Rancher Server]
OS[OpenStack]
KC[Keycloak]
VT[Vault]
end
subgraph "Compute Resources"
VM1[Server Nodes]
VM2[Agent Nodes]
LB[Load Balancers]
NET[Networks/Security]
end
UI --> API
API --> MPO
MPO --> MPR
MPR --> PROC
PROC --> RB
PROC --> VB
PROC --> KB
RB --> EXEC
EXEC --> RS
EXEC --> OS
EXEC --> KC
EXEC --> VT
OS --> VM1
OS --> VM2
OS --> LB
OS --> NET
RS -.-> VM1
RS -.-> VM2
VT -.-> VM1
VT -.-> VM2
User Order Flow Architecture
The complete user journey from order placement to cluster delivery follows a sophisticated multi-stage process involving marketplace abstractions, resource processors, and infrastructure orchestration:
sequenceDiagram
participant User
participant WaldurUI
participant MarketplaceAPI
participant OrderProcessor
participant RancherProcessor
participant OpenStackAPI
participant CeleryWorker
participant RancherBackend
participant Infrastructure
Note over User,Infrastructure: User Order Initiation
User->>WaldurUI: Browse Rancher offerings
WaldurUI->>MarketplaceAPI: GET /marketplace-offerings/?type=Rancher
MarketplaceAPI-->>WaldurUI: Available Rancher offerings with configurations
User->>WaldurUI: Configure cluster (nodes, flavors, etc.)
WaldurUI->>MarketplaceAPI: POST /marketplace-orders/
Note over MarketplaceAPI: Create Order & Resource models
MarketplaceAPI->>OrderProcessor: validate_order(request)
Note over OrderProcessor: Marketplace Order Processing
OrderProcessor->>RancherProcessor: RancherCreateProcessor.validate_order()
RancherProcessor->>RancherProcessor: Validate OpenStack offerings
RancherProcessor->>RancherProcessor: Validate flavors and volume types
RancherProcessor->>RancherProcessor: Validate resource limits
RancherProcessor-->>OrderProcessor: Validation complete
OrderProcessor-->>MarketplaceAPI: Order created and validated
MarketplaceAPI-->>User: Order confirmation
Note over User,Infrastructure: Order Approval and Processing
User->>MarketplaceAPI: Approve order
MarketplaceAPI->>CeleryWorker: process_order.delay(order, user)
CeleryWorker->>OrderProcessor: process_order(user)
OrderProcessor->>RancherProcessor: RancherCreateProcessor.process_order()
alt Managed Deployment Mode
Note over RancherProcessor: Managed Cluster Creation Flow
RancherProcessor->>RancherProcessor: create_project() - Dedicated VM project
RancherProcessor->>OpenStackAPI: Submit tenant orders for each AZ
OpenStackAPI-->>RancherProcessor: Tenant creation responses
RancherProcessor->>RancherProcessor: update_subnets() - Configure IP pools
RancherProcessor->>RancherProcessor: create_security_groups() - Setup LB security
RancherProcessor->>OpenStackAPI: Create load balancer VMs
OpenStackAPI-->>RancherProcessor: Load balancer instances
RancherProcessor->>RancherProcessor: create_cluster() - Generate node specs
RancherProcessor->>RancherBackend: _trigger_cluster_creation()
else Self-Managed Deployment Mode
Note over RancherProcessor: Self-Managed Cluster Creation Flow
RancherProcessor->>RancherBackend: _trigger_cluster_creation()
end
Note over RancherBackend,Infrastructure: Cluster Provisioning Phase
RancherBackend->>CeleryWorker: ClusterCreateExecutor.execute()
CeleryWorker->>RancherBackend: create_cluster()
RancherBackend->>Infrastructure: Create Rancher cluster definition
CeleryWorker->>Infrastructure: Setup Vault credentials (if enabled)
CeleryWorker->>OpenStackAPI: Create server nodes (parallel)
CeleryWorker->>OpenStackAPI: Create agent nodes (sequential)
loop Node Provisioning
OpenStackAPI->>Infrastructure: Provision VM with cloud-init
Infrastructure->>Infrastructure: Bootstrap RKE2 and join cluster
CeleryWorker->>RancherBackend: Poll node state until Active
end
CeleryWorker->>RancherBackend: Finalize cluster configuration
CeleryWorker->>Infrastructure: Configure ArgoCD (if enabled)
CeleryWorker->>Infrastructure: Install Longhorn (if enabled)
Note over User,Infrastructure: Completion and Handoff
CeleryWorker->>MarketplaceAPI: Update resource state to OK
MarketplaceAPI->>User: Cluster ready notification
User->>WaldurUI: Access cluster via Rancher UI
RancherCreateProcessor Deep Dive
The RancherCreateProcessor serves as the critical bridge between marketplace abstractions and actual infrastructure provisioning. It implements sophisticated logic for both deployment modes:
Key Responsibilities
-
Order Validation: Validation of user requests including:
-
OpenStack offering availability and limits
- Flavor and volume type compatibility across availability zones
- Resource quota enforcement and aggregation
- Odd-number OpenStack offering validation (for HA)
-
Infrastructure Orchestration:
-
Managed Mode: Full infrastructure provisioning including tenants, networks, security groups, and load balancers
- Self-Managed Mode: Direct cluster creation with user-provided infrastructure
-
Resource Lifecycle Management:
-
Dedicated project creation for VM isolation
- Multi-tenant OpenStack resource provisioning
- Network configuration with restricted IP pools
- Security group and load balancer setup
Managed Deployment Architecture
graph TD
subgraph "RancherCreateProcessor Flow"
A[validate_order] --> B{Deployment Mode?}
B -->|Managed| C[_create_managed_cluster]
B -->|Self-Managed| D[_create_self_managed_cluster]
C --> E[create_project]
E --> F[create_tenants]
F --> G[update_subnets]
G --> H[create_security_groups]
H --> I[create_load_balancers]
I --> J[create_cluster]
J --> K[_trigger_cluster_creation]
D --> K
K --> L[ClusterCreateExecutor]
end
subgraph "Infrastructure Resources Created"
M[Dedicated Project]
N[OpenStack Tenants]
O[Configured Subnets]
P[Security Groups]
Q[Load Balancer VMs]
R[Rancher Cluster]
S[Cluster Nodes]
end
E -.-> M
F -.-> N
G -.-> O
H -.-> P
I -.-> Q
J -.-> R
L -.-> S
Core Architecture
Integration Pattern
- Plugin Architecture: Extends
WaldurExtensionfollowing Waldur's modular design - Multi-Backend Integration: Seamlessly integrates with Rancher, OpenStack, Keycloak, and Vault
- Enterprise Security: Implements RBAC with secure credential management
- Asynchronous Processing: Sophisticated task orchestration with error recovery
Supported Capabilities
- Kubernetes cluster provisioning and lifecycle management
- Multi-tenant resource isolation with hierarchical permissions
- Helm application deployment and management
- Automated user onboarding with Keycloak integration
- Infrastructure-as-Code through YAML import/export
- Monitoring and scaling (HPA support)
Data Model Architecture
Hierarchical Resource Structure
1 2 3 | |
Core Models (15 Total)
Core Resource Models
Cluster: Primary Kubernetes cluster resource with OpenStack integration and VM project isolationNode: Individual cluster nodes with detailed resource allocation tracking and role assignmentApplication: Helm applications with version and configuration management (inherits from BaseResource)Project: Rancher project scoping within clusters with namespace managementNamespace: Kubernetes namespace management within Rancher projectsWorkload: Kubernetes deployment/statefulset managementHPA: Horizontal Pod Autoscaler with metrics trackingService: Kubernetes service management with networkingIngress: External access management for applications
Template and Catalog Models
Catalog: Helm chart repositories (global/cluster/project scoped)Template: Helm chart templates with version managementClusterTemplate: Standardized cluster deployment templatesClusterTemplateNode: Node specifications for cluster templates
Security and Access Models
ClusterSecurityGroup: Network security policy managementClusterSecurityGroupRule: Granular security rule definitionClusterPublicIP: Floating IP management for cluster access
User Management and RBAC Models
RancherUser: User mapping between Waldur and RancherRoleTemplate: Role definitions with cluster/project scopingRancherUserClusterLink: User-cluster role assignmentsRancherUserProjectLink: User-project role assignmentsKeycloakGroup: Identity management group hierarchyKeycloakUserGroupMembership: User group membership with state tracking
API Architecture
RESTful Endpoint Coverage (16 ViewSets)
Core Resource Management
/api/rancher-clusters/: Complete cluster lifecycle with security group management and VM project isolation/api/rancher-nodes/: Node management with OpenStack VM integration and console access/api/rancher-apps/: Helm application deployment and configuration/api/rancher-projects/: Rancher project management with secret handling/api/rancher-namespaces/: Kubernetes namespace operations within projects
Workload Operations
/api/rancher-workloads/: Kubernetes workload management with YAML operations/api/rancher-hpas/: Horizontal Pod Autoscaler configuration/api/rancher-services/: Kubernetes service management/api/rancher-ingresses/: External access configuration
Template and Catalog Management
/api/rancher-catalogs/: Helm catalog management with refresh capabilities/api/rancher-templates/: Chart template browsing and configuration/api/rancher-template-versions/{uuid}/{version}/: Template version details
User and Access Management
/api/rancher-users/: User access management (read-only)/api/keycloak-groups/: RBAC group management/api/keycloak-user-group-memberships/: User role assignment with notifications/api/rancher-role-templates/: Available role definitions
Security and Management
/api/rancher-cluster-security-groups/: Network security management/api/rancher-cluster-templates/: Standardized deployment templates
Backend Integration Architecture
Multi-Backend Design Pattern
1. RancherBackend (Primary Integration)
Location: src/waldur_rancher/backend.py
Core Capabilities:
- Complete cluster lifecycle management (create, update, delete, scale)
- Resource synchronization (projects, namespaces, workloads, applications)
- YAML-based Infrastructure-as-Code operations
- Real-time state management and error handling
- Integration with OpenStack for VM provisioning and project isolation
Key Operations:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
VaultBackend (Security Integration)
Location: src/waldur_rancher/backend.py
Security Features:
- Policy-based access control for cluster resources
- AppRole authentication for secure node bootstrapping
- Automatic credential rotation and cleanup
- Secret storage for cluster tokens and configurations
Key Operations:
1 2 3 | |
KeycloakBackend (Identity Management)
Location: src/waldur_rancher/backend.py
RBAC Features:
- Hierarchical group management (cluster → project groups)
- User discovery and group membership management
- Automated cleanup of orphaned groups and memberships
- Integration with Rancher's OIDC authentication
Key Operations:
1 2 | |
User Management and RBAC System
Hierarchical Permission Model
Permission Hierarchy
1 2 3 4 5 | |
Role Assignment Flow
- Admin creates user group membership via API
-
System creates Keycloak groups with hierarchical structure:
-
Parent:
c_{cluster_uuid_hex} -
Child:
{scope_type}_{scope_uuid_hex}_{role_name} -
Automatic Rancher role binding via signal handlers
- User notification with access details and context
- Background synchronization for pending memberships (15-minute intervals)
User Addition Sequence
sequenceDiagram
participant Admin
participant WaldurAPI
participant Keycloak
participant Rancher
participant Email
Admin->>WaldurAPI: POST keycloak-user-group-memberships
WaldurAPI->>Keycloak: Create parent cluster group
WaldurAPI->>Keycloak: Create child role group
WaldurAPI->>Rancher: Bind group to Rancher role
alt User exists in Keycloak
WaldurAPI->>Keycloak: Add user to group immediately
WaldurAPI->>WaldurAPI: Create membership (ACTIVE)
else User doesn't exist
WaldurAPI->>WaldurAPI: Create membership (PENDING)
Note over WaldurAPI: Background task will process later
end
WaldurAPI->>Email: Send notification to user
WaldurAPI->>Admin: Return membership details
State Management
- PENDING: User membership created but not synchronized with Keycloak
- ACTIVE: User successfully added to Keycloak group with full access
Asynchronous Processing Architecture
Task Organization
Core Task Classes (7 Classes)
Location: src/waldur_rancher/tasks.py
CreateNodeTask: Provisions OpenStack VMs with Vault credential injectionDeleteNodeTask: Safely drains and removes cluster nodesPollRuntimeStateNodeTask: Monitors node state transitionsCreateVaultCredentialsTask: Sets up secure cluster bootstrappingDeleteVaultObjectsTask: Cleans up security artifactsCreateArgoCDClusterSecretTask: Configures GitOps integrationDeleteKeycloakGroupsTask: Removes RBAC groups and memberships
Scheduled Background Jobs (6 Jobs)
Configuration: src/waldur_rancher/extension.py:36-70
| Task | Schedule | Purpose |
|---|---|---|
pull_all_clusters_nodes |
24 hours | Synchronize cluster node states |
sync_keycloak_users |
15 minutes | Process pending user memberships |
sync_rancher_roles |
1 hour | Update role templates from Rancher |
delete_leftover_keycloak_groups |
1 hour | Clean up orphaned groups |
delete_leftover_keycloak_memberships |
1 hour | Remove stale memberships |
sync_rancher_group_bindings |
1 hour | Ensure role binding consistency |
Executor Patterns
Complex Orchestration Example: ClusterCreateExecutor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Signal-Driven Automation
Location: src/waldur_rancher/handlers.py
Key Signal Handlers
- Instance lifecycle: Automatic node cleanup when VMs are deleted
- Error propagation: Hierarchical error state management (VM → Node → Cluster)
- Keycloak integration: Automatic group creation and role binding
- Catalog management: Scope-based catalog cleanup
Security Architecture
Multi-Layered Security Model
1. Authentication and Authorization
- Multi-modal Authentication: Token, Session, OIDC, SAML2 support
- Hierarchical RBAC: Customer/Project/Cluster level permissions
- Keycloak Integration: Centralized identity and access management
- Time-based Roles: Role assignments with optional expiration
2. Secure Cluster Bootstrapping
- Vault Integration: Policy-based credential management
- Temporary Credentials: Short-lived tokens for node provisioning
- Automatic Rotation: Credentials automatically rotated and cleaned up
- Network Isolation: OpenStack security groups for cluster networking
3. Multi-Tenant Isolation
- Project-Level Isolation: Resources scoped to specific projects
- Tenant Separation: OpenStack tenant isolation for infrastructure
- Permission Filtering: Users only see resources they can manage
- Audit Trail: Logging and state tracking
Infrastructure Security Features
- Network Security Groups: Granular firewall rule management
- SSH Key Management: Secure key injection with optional disable
- Private Registry Support: Secure container image distribution
- TLS Configuration: Certificate management
Configuration and Deployment
Extension Configuration
Location: src/waldur_rancher/extension.py
Key Settings
1 2 3 4 5 6 7 8 9 10 11 | |
Public Settings (Exposed to Frontend)
ROLE_REQUIREMENT: Node resource requirementsSYSTEM_VOLUME_MIN_SIZE: Minimum disk size constraintsREAD_ONLY_MODE: Maintenance mode configurationDISABLE_SSH_KEY_INJECTION: Security feature toggleDISABLE_DATA_VOLUME_CREATION: Storage feature control
Cluster Provisioning Sequence Diagrams
Complete Cluster Creation Flow
sequenceDiagram
participant User
participant WaldurAPI
participant Celery
participant RancherBackend
participant Vault
participant OpenStack
participant RancherServer
User->>WaldurAPI: POST /api/rancher-clusters/
WaldurAPI->>WaldurAPI: Validate cluster configuration
WaldurAPI->>WaldurAPI: Create cluster model (Creating state)
WaldurAPI->>Celery: Schedule ClusterCreateExecutor
Note over Celery: Cluster Creation Phase
Celery->>RancherBackend: create_cluster()
RancherBackend->>RancherServer: Create v1 cluster
RancherServer-->>RancherBackend: Return cluster ID
RancherBackend->>RancherServer: Get v3 cluster ID
RancherBackend->>RancherServer: Create registration token
RancherBackend-->>Celery: Cluster created
Note over Celery: Vault Security Setup Phase
alt Vault Integration Enabled
Celery->>Vault: Create cluster policy
Celery->>Vault: Create AppRole
Celery->>Vault: Generate role/secret IDs
Celery->>Vault: Store cluster token
end
Note over Celery: Node Creation Phase - Server Nodes (Parallel)
par Server Node 1
Celery->>OpenStack: Create VM with cloud-init
OpenStack->>VM: Provision server node
VM->>Vault: Authenticate with AppRole
VM->>Vault: Retrieve cluster token
VM->>RancherServer: Register as server node
Celery->>Celery: Poll node state until Active
and Server Node 2
Celery->>OpenStack: Create VM with cloud-init
OpenStack->>VM: Provision server node
VM->>Vault: Authenticate with AppRole
VM->>Vault: Retrieve cluster token
VM->>RancherServer: Register as server node
Celery->>Celery: Poll node state until Active
end
Note over Celery: First Agent Node Creation (Sequential)
Celery->>OpenStack: Create first agent VM
OpenStack->>VM: Provision agent node
VM->>Vault: Authenticate with AppRole
VM->>Vault: Retrieve cluster token
VM->>RancherServer: Register as agent node
Celery->>Celery: Poll node state until Active
Note over Celery: Remaining Agent Nodes (Parallel)
par Agent Node 2
Celery->>OpenStack: Create VM with cloud-init
OpenStack->>VM: Provision agent node
VM->>RancherServer: Register as agent node
Celery->>Celery: Poll node state until Active
and Agent Node N
Celery->>OpenStack: Create VM with cloud-init
OpenStack->>VM: Provision agent node
VM->>RancherServer: Register as agent node
Celery->>Celery: Poll node state until Active
end
Note over Celery: Cluster Finalization Phase
Celery->>RancherBackend: check_cluster_nodes()
RancherBackend->>RancherServer: Verify cluster state
RancherServer-->>RancherBackend: Cluster Active
Celery->>RancherBackend: pull_cluster()
RancherBackend->>RancherServer: Sync all cluster resources
alt ArgoCD Integration Enabled
Celery->>ArgoCD: Create cluster secret
Celery->>ArgoCD: Configure GitOps access
opt Longhorn Installation
Celery->>ArgoCD: Install Longhorn via GitOps
end
end
Note over Celery: Cleanup Phase
alt Vault Integration Enabled
Celery->>Vault: Delete temporary credentials
Celery->>Vault: Clean up role/secret IDs
end
Celery->>WaldurAPI: Update cluster state to OK
WaldurAPI-->>User: Cluster creation complete
Node Addition Flow
sequenceDiagram
participant User
participant WaldurAPI
participant Celery
participant RancherBackend
participant OpenStack
participant RancherServer
User->>WaldurAPI: POST /api/rancher-nodes/
WaldurAPI->>WaldurAPI: Validate node configuration
WaldurAPI->>WaldurAPI: Create node model (Creating state)
WaldurAPI->>Celery: Schedule NodeCreateExecutor
Note over Celery: Node Provisioning
Celery->>RancherBackend: get_cluster_registration_token()
RancherBackend->>RancherServer: Retrieve current token
Celery->>OpenStack: Create VM instance
Note over OpenStack: Cloud-init with cluster token
OpenStack->>VM: Boot with RKE2 bootstrap script
Note over VM: Node Bootstrap Process
VM->>VM: Install RKE2 components
VM->>RancherServer: Register with cluster
VM->>VM: Start kubelet and container runtime
Note over Celery: State Monitoring
Celery->>RancherBackend: poll_node_state()
loop Until Active or Timeout
RancherBackend->>RancherServer: Check node status
RancherServer-->>RancherBackend: Node state
alt Node Active
Celery->>WaldurAPI: Set node state to OK
else Still Registering
Celery->>Celery: Wait and retry
else Error State
Celery->>WaldurAPI: Set node state to Erred
end
end
Celery->>WaldurAPI: Update cluster capacity
WaldurAPI-->>User: Node addition complete
Cluster Modification Operations
sequenceDiagram
participant User
participant WaldurAPI
participant Celery
participant RancherBackend
participant RancherServer
Note over User,RancherServer: Cluster Update Operation
User->>WaldurAPI: PUT /api/rancher-clusters/{id}/
WaldurAPI->>WaldurAPI: Validate changes
WaldurAPI->>Celery: Schedule ClusterUpdateExecutor
alt Name Change
Celery->>RancherBackend: update_cluster()
RancherBackend->>RancherServer: Update cluster metadata
RancherServer-->>RancherBackend: Confirmation
else Metadata Only
Celery->>WaldurAPI: Update local state only
end
WaldurAPI-->>User: Update complete
Note over User,RancherServer: Node Deletion Operation
User->>WaldurAPI: DELETE /api/rancher-nodes/{id}/
WaldurAPI->>WaldurAPI: Validate deletion permissions
WaldurAPI->>Celery: Schedule NodeDeleteExecutor
Celery->>RancherBackend: drain_node()
RancherBackend->>RancherServer: Drain workloads from node
loop Monitor Drain Progress
Celery->>RancherBackend: get_node_drain_status()
RancherBackend->>RancherServer: Check drain condition
alt Drain Complete
Celery->>RancherBackend: delete_node()
RancherBackend->>RancherServer: Remove from cluster
else Drain Failed
Celery->>WaldurAPI: Set error state
end
end
Celery->>OpenStack: Delete VM instance
Celery->>WaldurAPI: Remove node from database
WaldurAPI-->>User: Node deletion complete
Note over User,RancherServer: Cluster Synchronization
User->>WaldurAPI: POST /api/rancher-clusters/{id}/pull/
WaldurAPI->>Celery: Schedule ClusterPullExecutor
Celery->>RancherBackend: pull_cluster_details()
Celery->>RancherBackend: pull_cluster_nodes()
Celery->>RancherBackend: pull_projects_for_cluster()
Celery->>RancherBackend: pull_namespaces_for_cluster()
Celery->>RancherBackend: pull_catalogs_for_cluster()
Celery->>RancherBackend: pull_templates_for_cluster()
Celery->>RancherBackend: pull_cluster_workloads()
Celery->>RancherBackend: pull_cluster_apps()
WaldurAPI-->>User: Synchronization complete
Application Deployment Flow
sequenceDiagram
participant User
participant WaldurAPI
participant Celery
participant RancherBackend
participant RancherServer
User->>WaldurAPI: POST /api/rancher-apps/
WaldurAPI->>WaldurAPI: Validate application config
WaldurAPI->>WaldurAPI: Create application model
WaldurAPI->>Celery: Schedule ApplicationCreateExecutor
Note over Celery: Application Deployment
alt Namespace Missing
Celery->>RancherBackend: create_namespace()
RancherBackend->>RancherServer: Create namespace
RancherServer-->>RancherBackend: Namespace created
end
Celery->>RancherBackend: create_application()
RancherBackend->>RancherServer: Deploy Helm chart
Note over RancherServer: Helm install with answers
RancherServer-->>RancherBackend: Deployment started
Note over Celery: State Monitoring
loop Until Active or Error
Celery->>RancherBackend: check_application_state()
RancherBackend->>RancherServer: Get app status
alt Application Active
Celery->>WaldurAPI: Set state to OK
else Still Deploying
Celery->>Celery: Continue polling
else Deployment Failed
Celery->>WaldurAPI: Set state to Erred
end
end
Note over Celery: Post-Deployment Sync
Celery->>RancherBackend: pull_project_workloads()
RancherBackend->>RancherServer: Sync workload states
WaldurAPI-->>User: Application deployment complete
Offering and Order Attributes Configuration
Overview
The Waldur Rancher integration supports two distinct deployment modes with different attribute requirements. The configuration is managed through specialized serializers that validate and process user inputs for cluster creation.
Deployment Modes
The system supports two deployment modes defined in const.py:
1 2 | |
Offering Configuration (plugin_options)
Offering configuration is handled by RancherPluginOptionsSerializer and defines the capabilities and constraints of a Rancher offering.
Core Configuration
| Attribute | Type | Required | Description |
|---|---|---|---|
deployment_mode |
Choice | No | "managed" or "self_managed" (default: "self_managed") |
flavors_regex |
String | No | Regular expression to limit available flavors list |
openstack_offering_uuid_list |
List[UUID] | No | Available OpenStack offerings for tenant creation |
Managed Mode Server Configuration
| Attribute | Type | Required | Description |
|---|---|---|---|
managed_rancher_server_flavor_name |
String | No | OpenStack flavor for server nodes |
managed_rancher_server_system_volume_size_gb |
Integer | No | System volume size for server nodes (GB) |
managed_rancher_server_system_volume_type_name |
String | No | Volume type for server system volumes |
managed_rancher_server_data_volume_size_gb |
Integer | No | Data volume size for server nodes (GB) |
managed_rancher_server_data_volume_type_name |
String | No | Volume type for server data volumes |
Managed Mode Worker Configuration
| Attribute | Type | Required | Description |
|---|---|---|---|
managed_rancher_worker_system_volume_size_gb |
Integer | No | System volume size for worker nodes (GB) |
managed_rancher_worker_system_volume_type_name |
String | No | Volume type for worker system volumes |
Managed Mode Load Balancer Configuration
| Attribute | Type | Required | Description |
|---|---|---|---|
managed_rancher_load_balancer_flavor_name |
String | No | OpenStack flavor for load balancer VMs |
managed_rancher_load_balancer_system_volume_size_gb |
Integer | No | System volume size for load balancers (GB) |
managed_rancher_load_balancer_system_volume_type_name |
String | No | Volume type for load balancer system volumes |
managed_rancher_load_balancer_data_volume_size_gb |
Integer | No | Data volume size for load balancers (GB) |
managed_rancher_load_balancer_data_volume_type_name |
String | No | Volume type for load balancer data volumes |
Resource Limits Configuration
| Attribute | Type | Required | Description |
|---|---|---|---|
managed_rancher_tenant_max_cpu |
Integer | No | Maximum vCPUs per tenant |
managed_rancher_tenant_max_ram |
Integer | No | Maximum RAM per tenant (GB) |
managed_rancher_tenant_max_disk |
Integer | No | Maximum disk space per tenant (GB) |
Order Attributes (User Input)
Order attributes vary significantly between deployment modes and are validated by different serializers.
Managed Mode Orders (ManagedClusterCreateSerializer)
| Attribute | Type | Required | Description |
|---|---|---|---|
name |
String | Yes | Unique cluster identifier |
worker_nodes_count |
Integer | Yes | Number of worker nodes to create |
worker_nodes_flavor_name |
String | Yes | OpenStack flavor for worker nodes |
worker_nodes_data_volume_size |
Integer | Yes | Data volume size for workers (MB) |
worker_nodes_data_volume_type_name |
String | No | Volume type for worker data volumes |
openstack_offering_uuid_list |
List[UUID] | No | Selected OpenStack offerings for deployment |
install_longhorn |
Boolean | No | Enable Longhorn distributed storage (default: false) |
worker_nodes_longhorn_volume_size |
Integer | No | Longhorn volume size (MB, required if install_longhorn=true) |
worker_nodes_longhorn_volume_type_name |
String | No | Volume type for Longhorn storage |
Self-Managed Mode Orders (RancherClusterCreateSerializer)
| Attribute | Type | Required | Description |
|---|---|---|---|
name |
String | Yes | Cluster name |
description |
String | No | Cluster description |
nodes |
List[Object] | Yes | Node specifications (see Node Attributes) |
tenant |
UUID | Conditional | OpenStack tenant (cluster-level or node-level) |
ssh_public_key |
String | No | SSH public key for node access |
install_longhorn |
Boolean | No | Enable Longhorn installation |
security_groups |
List[Object] | No | Security group configurations |
vm_project |
UUID | Yes | VM project for node isolation |
Node Attributes (RancherCreateNodeSerializer)
| Attribute | Type | Required | Description |
|---|---|---|---|
role |
Choice | Yes | "server" or "agent" (worker) |
system_volume_size |
Integer | No | System volume size (MB) |
system_volume_type |
UUID | No | OpenStack volume type reference |
memory |
Integer | No | Memory requirement (MB) |
cpu |
Integer | No | CPU requirement (vCPUs) |
subnet |
UUID | Yes | OpenStack subnet reference |
flavor |
UUID | No | OpenStack flavor reference |
data_volumes |
List[Object] | No | Additional volume specifications |
ssh_public_key |
String | No | SSH public key for node access |
tenant |
UUID | Conditional | OpenStack tenant (if not set at cluster level) |
Data Volume Specifications
| Attribute | Type | Required | Description |
|---|---|---|---|
size |
Integer | Yes | Volume size (MB) |
mount_point |
String | Yes | Mount point (e.g., /opt/rke2_storage) |
filesystem |
String | Yes | Filesystem type (e.g., "btrfs") |
volume_type |
UUID | No | OpenStack volume type reference |
Service Settings Configuration
Rancher service settings are configured via RancherServiceSettingsSerializer:
Core Connection Settings
| Attribute | Type | Required | Description |
|---|---|---|---|
backend_url |
String | Yes | Rancher server URL |
username |
String | Yes | Rancher access key |
password |
String | Yes | Rancher secret key |
base_image_name |
String | Yes | Base OS image name |
Optional Integration Settings
| Attribute | Type | Required | Description |
|---|---|---|---|
k8s_version |
String | No | Default Kubernetes version |
cloud_init_template |
String | No | Custom cloud-init template |
private_registry_url |
String | No | Private container registry URL |
private_registry_user |
String | No | Private registry username |
private_registry_password |
String | No | Private registry password |
allocate_floating_ip_to_all_nodes |
Boolean | No | Auto-assign floating IPs |
Vault Integration Settings
| Attribute | Type | Required | Description |
|---|---|---|---|
vault_host |
String | No | Vault server hostname |
vault_port |
Integer | No | Vault server port |
vault_token |
String | No | Vault authentication token |
vault_tls_verify |
Boolean | No | Verify Vault TLS certificates (default: true) |
Keycloak Integration Settings
| Attribute | Type | Required | Description |
|---|---|---|---|
keycloak_url |
String | No | Keycloak server URL |
keycloak_realm |
String | No | Keycloak realm name |
keycloak_user_realm |
String | No | Keycloak user realm |
keycloak_username |
String | No | Keycloak admin username |
keycloak_password |
String | No | Keycloak admin password |
keycloak_sync_frequency |
Integer | No | Sync frequency (minutes) |
ArgoCD Integration Settings
| Attribute | Type | Required | Description |
|---|---|---|---|
argocd_k8s_namespace |
String | No | ArgoCD namespace |
argocd_k8s_kubeconfig |
String | No | ArgoCD kubeconfig |
Validation Rules
Managed Mode Validations
-
OpenStack Offering Validation:
-
Must select odd number of offerings (1, 3, 5) for HA
- Selected offerings must be in the allowed list
-
All offerings must have required flavors and volume types
-
Resource Limit Validation:
-
Aggregated CPU/RAM/Storage across tenants must not exceed limits
-
Validates against
managed_rancher_tenant_max_*settings -
Flavor and Volume Type Validation:
-
All required flavors must exist in all selected OpenStack offerings
- All volume types must be available in dynamic storage mode
Self-Managed Mode Validations
- Tenant Specification: Either cluster-level or node-level tenant must be specified
- Node Roles: Must have at least one server node
- Volume Sizes: System volumes must meet minimum size requirements
- Network Configuration: Subnets must be accessible and properly configured
Example Configurations
Managed Mode Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Self-Managed Mode Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
OpenStack Infrastructure Deployment Analysis
Overview
The Waldur Rancher integration deploys significantly different OpenStack infrastructure depending on the deployment mode. The infrastructure complexity and resource requirements vary dramatically between managed and self-managed modes.
Managed Mode Infrastructure Deployment
Managed mode implements a multi-tenant infrastructure deployment across multiple OpenStack availability zones with automatic load balancing and networking.
Infrastructure Components
graph TB
subgraph "Managed Mode Infrastructure"
subgraph "Waldur Management Layer"
WP[Dedicated VM Project]
WC[Consumer Project]
end
subgraph "OpenStack AZ 1"
T1[Tenant 1]
N1[Network 1]
S1[Subnet 1<br/>10.x.x.11-200]
SG1[Security Groups<br/>k8s_admin, k8s_public]
LB1[Load Balancer VM<br/>IP: 10.x.x.10]
SRV1[Server Nodes x3]
WRK1[Worker Nodes xN]
end
subgraph "OpenStack AZ 2"
T2[Tenant 2]
N2[Network 2]
S2[Subnet 2<br/>10.y.y.11-200]
SG2[Security Groups<br/>k8s_admin, k8s_public]
LB2[Load Balancer VM<br/>IP: 10.y.y.10]
SRV2[Server Nodes x3]
WRK2[Worker Nodes xN]
end
subgraph "OpenStack AZ 3"
T3[Tenant 3]
N3[Network 3]
S3[Subnet 3<br/>10.z.z.11-200]
SG3[Security Groups<br/>k8s_admin, k8s_public]
LB3[Load Balancer VM<br/>IP: 10.z.z.10]
SRV3[Server Nodes x3]
WRK3[Worker Nodes xN]
end
end
WP --> T1
WP --> T2
WP --> T3
T1 --> N1 --> S1
T2 --> N2 --> S2
T3 --> N3 --> S3
S1 --> SG1 --> LB1
S1 --> SG1 --> SRV1
S1 --> SG1 --> WRK1
S2 --> SG2 --> LB2
S2 --> SG2 --> SRV2
S2 --> SG2 --> WRK2
S3 --> SG3 --> LB3
S3 --> SG3 --> SRV3
S3 --> SG3 --> WRK3
Detailed Component Breakdown
1. Project and Tenant Structure:
- Dedicated VM Project: Isolated project created specifically for cluster VMs
- Name format:
{consumer_customer}/{consumer_project}/{cluster_name} -
Purpose: VM isolation and permission boundaries
-
Multiple OpenStack Tenants: One per selected availability zone
- Name format:
os-tenant-{vm_project_slug}-{openstack_offering_slug} - Each tenant gets full networking stack
2. Network Architecture:
- Per-Tenant Networks: Automatically created with each tenant
- Restricted Subnets: IP allocation pools limited to
.11-.200range - Reserves
.1-.10for infrastructure (gateway, load balancer) - Load balancer gets fixed IP:
{network}.10 - Security Groups:
k8s_admin: Administrative access rulesk8s_public: Public service access rulesdefault: Standard OpenStack default group
3. Load Balancer Infrastructure:
- Per-Tenant Load Balancers: One LB VM per availability zone
- Fixed IP Assignment:
{subnet_network}.10(e.g.,10.1.1.10) - Custom Cloud-Init: Load balancer-specific bootstrap configuration
- Security Group Assignment:
k8s_admin,k8s_public,default
4. Kubernetes Node Distribution:
- Server Nodes: 3 per tenant (currently hardcoded)
- Role: Kubernetes control plane + etcd
- Flavor: Configured via
managed_rancher_server_flavor_name - Volumes: System + Data volumes with configurable types
- Worker Nodes: User-specified count per tenant
- Role: Kubernetes workload execution
- Flavor: User-selected from available options
- Optional Longhorn volumes for distributed storage
Storage Configuration
Volume Types and Sizes:
- Server Nodes:
- System volume:
managed_rancher_server_system_volume_size_gb - Data volume:
managed_rancher_server_data_volume_size_gb - Worker Nodes:
- System volume:
managed_rancher_worker_system_volume_size_gb - Data volume: User-specified in order attributes
- Longhorn volume: Optional, user-specified size
- Load Balancers:
- System volume:
managed_rancher_load_balancer_system_volume_size_gb - Data volume:
managed_rancher_load_balancer_data_volume_size_gb
Self-Managed Mode Infrastructure Deployment
Self-managed mode requires users to provide their own OpenStack infrastructure and only deploys Kubernetes cluster nodes.
Infrastructure Components
graph TB
subgraph "Self-Managed Mode Infrastructure"
subgraph "User-Provided Infrastructure"
UP[User Project]
UT[User Tenant/Network]
US[User Subnet]
USG[User Security Groups]
end
subgraph "Waldur-Deployed Components"
CN[Cluster Nodes Only]
subgraph "Server Nodes"
SN1[Server Node 1]
SN2[Server Node 2]
SN3[Server Node N]
end
subgraph "Worker Nodes"
WN1[Worker Node 1]
WN2[Worker Node 2]
WN3[Worker Node N]
end
end
end
UP --> UT --> US --> USG
USG --> CN
CN --> SN1
CN --> SN2
CN --> SN3
CN --> WN1
CN --> WN2
CN --> WN3
User Responsibility vs Waldur Responsibility
User Must Provide:
- OpenStack tenant and project access
- Network infrastructure (networks, subnets, routers)
- Security groups and firewall rules
- Floating IP management (if required)
- Storage backend configuration
Waldur Deploys:
- Only Kubernetes cluster nodes (VMs)
- Node-specific configuration and bootstrapping
- Cluster networking (RKE2/Rancher setup)
Infrastructure Comparison
| Aspect | Managed Mode | Self-Managed Mode |
|---|---|---|
| Projects | Creates dedicated VM project | Uses existing user project |
| Tenants | Creates 1-N tenants across AZs | Uses existing user tenant |
| Networks | Auto-creates per tenant | Uses existing user networks |
| Subnets | Auto-configures with IP restrictions | Uses existing user subnets |
| Security Groups | Creates k8s_admin, k8s_public | Uses existing user security groups |
| Load Balancers | Creates dedicated LB VMs | User responsibility |
| IP Management | Fixed IP allocation scheme | User-managed |
| Resource Isolation | Complete tenant isolation | Shared tenant resources |
| High Availability | Built-in multi-AZ distribution | User-configured |
Network Architecture Details
Managed Mode Networking
IP Allocation Strategy:
1 2 3 4 5 6 | |
Security Group Rules:
- k8s_admin: SSH (22), Kubernetes API (6443), management ports
- k8s_public: HTTP (80), HTTPS (443), custom service ports
- default: Inter-tenant communication rules
Cross-AZ Communication:
- Tenants isolated by default
- Kubernetes cluster networking bridges across tenants
- Load balancers provide external access points
Self-Managed Mode Networking
User Requirements:
- Existing subnet with sufficient IP addresses
- Security groups allowing Kubernetes communication ports
- Optional floating IP pool for external access
- Network connectivity between all cluster nodes
Resource Calculation Examples
Managed Mode Example (3 AZ, 3 Workers)
Per Availability Zone:
- 1 Load Balancer VM
- 3 Server VMs
- 3 Worker VMs
- Total per AZ: 7 VMs
Total Infrastructure (3 AZs):
- 3 OpenStack tenants
- 3 Load balancer VMs
- 9 Server VMs (3×3)
- 9 Worker VMs (3×3)
- Total VMs: 21 VMs
- Networks: 3 dedicated networks
- Security Groups: 6 groups (2 per tenant)
Self-Managed Mode Example (3 Workers)
User Infrastructure:
- 1 OpenStack tenant (existing)
- 1 Network/subnet (existing)
- Security groups (existing)
Waldur-Deployed:
- 3 Server VMs
- 3 Worker VMs
- Total VMs: 6 VMs
Cost and Complexity Implications
Managed Mode
- Higher Resource Usage: 3x more VMs due to multi-AZ distribution
- Higher Costs: Additional load balancers and cross-AZ redundancy
- Lower Operational Complexity: Fully automated infrastructure
- Built-in HA: Automatic high availability across zones
- Complete Isolation: Dedicated tenants per cluster
Self-Managed Mode
- Lower Resource Usage: Only cluster nodes deployed
- Lower Costs: No additional infrastructure overhead
- Higher Operational Complexity: User manages all infrastructure
- Custom HA: User responsible for availability design
- Shared Resources: Uses existing tenant infrastructure
Node Management Operations
Overview
The Waldur Rancher integration provides node management capabilities through dedicated APIs and automated lifecycle management. Node operations include scaling, monitoring, maintenance, and advanced operations like console access and graceful node drainage.
Node Lifecycle Management
Node Creation Process
sequenceDiagram
participant User
participant WaldurAPI
participant NodeExecutor
participant OpenStack
participant RancherServer
User->>WaldurAPI: POST /api/rancher-nodes/
WaldurAPI->>WaldurAPI: Validate node configuration
WaldurAPI->>WaldurAPI: Create node model (Creating state)
WaldurAPI->>NodeExecutor: Schedule NodeCreateExecutor
Note over NodeExecutor: VM Provisioning
NodeExecutor->>OpenStack: Create VM with cloud-init
OpenStack->>VM: Boot with RKE2 bootstrap
Note over VM: Node Bootstrap
VM->>VM: Install RKE2 components
VM->>RancherServer: Register with cluster
VM->>VM: Start kubelet and container runtime
Note over NodeExecutor: State Monitoring
loop Until Active or Timeout
NodeExecutor->>RancherServer: Check node status
alt Node Active
NodeExecutor->>WaldurAPI: Set state to OK
else Still Registering
NodeExecutor->>NodeExecutor: Continue polling
else Error State
NodeExecutor->>WaldurAPI: Set state to Erred
end
end
NodeExecutor->>WaldurAPI: Update cluster capacity
WaldurAPI-->>User: Node creation complete
Node Deletion Process
sequenceDiagram
participant User
participant WaldurAPI
participant NodeExecutor
participant RancherServer
participant OpenStack
User->>WaldurAPI: DELETE /api/rancher-nodes/{uuid}/
WaldurAPI->>WaldurAPI: Validate deletion (prevent last agent node)
WaldurAPI->>NodeExecutor: Schedule NodeDeleteExecutor
Note over NodeExecutor: Graceful Drain Process
NodeExecutor->>RancherServer: Initiate node drain
RancherServer->>RancherServer: Evacuate workloads to other nodes
loop Drain Monitoring (60s timeout)
NodeExecutor->>RancherServer: Check drain status
alt Drain Complete
NodeExecutor->>NodeExecutor: Proceed to deletion
else Drain Failed
NodeExecutor->>WaldurAPI: Set error state
else Timeout
NodeExecutor->>WaldurAPI: Set error state
end
end
Note over NodeExecutor: Infrastructure Cleanup
NodeExecutor->>OpenStack: Delete VM and volumes
NodeExecutor->>RancherServer: Remove node from cluster
NodeExecutor->>WaldurAPI: Remove node from database
WaldurAPI-->>User: Node deletion complete
Node Management APIs
Core Node Operations
| Endpoint | Method | Description | Permissions |
|---|---|---|---|
/api/rancher-nodes/ |
GET | List cluster nodes with filtering | View cluster |
/api/rancher-nodes/ |
POST | Create new cluster node | Staff only |
/api/rancher-nodes/{uuid}/ |
GET | Retrieve node details | View cluster |
/api/rancher-nodes/{uuid}/ |
DELETE | Delete cluster node | Manage cluster |
/api/rancher-nodes/{uuid}/pull/ |
POST | Synchronize node state | Manage cluster |
Advanced Node Operations
| Endpoint | Method | Description | Permissions |
|---|---|---|---|
/api/rancher-nodes/{uuid}/console/ |
GET | Get VNC/console URL | Console access |
/api/rancher-nodes/{uuid}/console_log/ |
GET | Retrieve console output | Console access |
/api/rancher-nodes/{uuid}/link_openstack/ |
POST | Link to OpenStack instance | Manage cluster |
Node Creation Parameters
Required Parameters:
1 2 3 4 5 6 | |
Optional Parameters:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Node Scaling Operations
Horizontal Scaling (Add/Remove Nodes)
Scale Up Process:
- Validation: Ensure cluster is in OK state
- Resource Planning: Validate flavors and volume types
- Node Creation: Provision new nodes with role assignment
- Cluster Integration: Automatic registration with existing cluster
- Capacity Update: Refresh cluster resource metrics
Scale Down Process:
- Safety Checks: Prevent deletion of last agent node
- Workload Drainage: Gracefully move workloads to other nodes
- Node Removal: Remove from Kubernetes cluster
- Infrastructure Cleanup: Delete VMs and associated resources
Scaling Constraints
Server Nodes (Control Plane):
- Minimum: 1 server node
- Recommended: 3 server nodes for HA
- Maximum: No hard limit (typically 5-7 for performance)
Agent Nodes (Workers):
- Minimum: 1 agent node (cannot delete last agent)
- Maximum: Limited by cluster resource quotas
- Role: Workload execution and storage
Automated Scaling Considerations
Resource Monitoring:
- CPU, RAM, and storage utilization tracking
- Pod scheduling pressure detection
- Network and storage performance metrics
Scaling Triggers:
- Manual scaling via API requests
- Integration with external monitoring systems
- Custom alerting and automation workflows
Node Monitoring and Maintenance
Node State Management
Lifecycle States:
- Creating: VM provisioning in progress
- OK: Node active and healthy
- Erred: Node failed or unreachable
- Deleting: Node removal in progress
- Deletion Scheduled: Queued for deletion
Runtime States (from Rancher):
- active: Node operational and available
- registering: Node joining cluster
- unavailable: Node temporarily unreachable
Health Monitoring
Resource Metrics:
1 2 3 4 5 6 7 8 | |
System Information:
1 2 3 4 5 6 7 | |
Console Access and Debugging
Console URL Access:
- VNC/SPICE console access through OpenStack
- Direct browser-based terminal access
- Requires console permissions
Console Log Retrieval:
- Boot logs and system output
- Configurable log length (default/custom)
- Real-time log streaming capability
Example Console Access:
1 2 3 4 5 | |
Node Drainage and Maintenance
Graceful Node Drainage
Drainage Process:
- Cordon Node: Mark as unschedulable
- Evict Pods: Gracefully terminate workloads
- Wait for Completion: Monitor evacuation progress
- Validate Success: Ensure all workloads moved
Drainage Configuration:
- Timeout: 60 seconds for complete drainage
- Force Option: Enabled for stuck workloads
- Monitoring Interval: 5-second status checks
Drainage Status Monitoring:
1 2 3 4 5 6 | |
Maintenance Operations
Node Replacement:
- Drain Existing Node: Safely evacuate workloads
- Create Replacement: Provision new node with same role
- Validate Health: Ensure new node joins cluster
- Remove Old Node: Clean up infrastructure
Rolling Updates:
- Sequential node updates to maintain availability
- Automatic workload redistribution
- Version compatibility validation
Security and Permissions
Role-Based Access Control
Node Permissions:
- View: List and inspect node details
- Manage: Create, delete, and modify nodes
- Console: Access console and logs
- Staff: Create nodes (restricted to staff users)
Permission Hierarchy:
1 2 3 | |
Ticket-Based Offerings
Ticket-based offerings integrate Waldur marketplace with external ticketing systems (JIRA, SMAX, Zammad) to manage service provisioning through support tickets.
Overview
When offerings are configured with type = "Marketplace.Support", orders are processed through external ticketing systems rather than direct API provisioning. This enables:
- Manual service provisioning workflows
- Integration with existing ITSM processes
- Human approval and intervention
- Complex provisioning that requires multiple steps
Architecture
graph LR
Order[Marketplace Order] --> Issue[Support Issue]
Issue --> Backend[Ticketing Backend]
Backend --> Status[Status Change]
Status --> Callback[Resource Callback]
Callback --> Resource[Resource State]
Order Processing Flow
1. Order Creation
When a customer creates an order for a ticket-based offering:
- A support issue is created in the configured backend (JIRA/SMAX/Zammad)
- The order is linked to the issue via
issue.resource - The issue contains order details in its description
2. Status Synchronization
The system monitors issue status changes through:
- Backend synchronization (
sync_issues()) - Webhooks (JIRA, SMAX, Zammad - if configured)
- Periodic polling
3. Callback Triggering
When an issue status changes, the system determines the appropriate callback based on:
- Order Type (CREATE, UPDATE, TERMINATE)
- Resolution Status (resolved, canceled)
The callback mapping is defined in marketplace_support/handlers.py:
1 2 3 4 5 6 7 8 | |
Issue Resolution Detection
The system determines if an issue is resolved or canceled through the IssueStatus model:
IssueStatus Configuration
Each status name from the ticketing system maps to one of two types:
IssueStatus.Types.RESOLVED(0) - Successfully completedIssueStatus.Types.CANCELED(1) - Failed or canceled
Model Structure:
1 2 3 4 | |
Example Configuration:
1 2 3 4 | |
Access Control:
- Staff users: Full CRUD access via API and admin interface
- Support users: Read-only access (can view existing statuses)
- Regular users: No access
Resolution Logic
- When an issue's status changes (e.g., from backend sync)
- The
issue.resolvedproperty is evaluated: - Looks up the status name in
IssueStatustable - Returns
Trueif type isRESOLVED - Returns
Falseif type isCANCELED -
Returns
Nonefor other statuses -
Based on
(order.type, issue.resolved)combination, the appropriate callback is triggered
Resource Deletion Failed Scenario
The resource_deletion_failed callback is triggered when:
- Issue Status Changes: The support ticket's status is updated
- Order Type is TERMINATE: The order represents a resource deletion request
- Status Maps to CANCELED: The new status is configured as
IssueStatus.Types.CANCELED - Callback Execution:
callbacks.resource_deletion_failed(order.resource)is called
This typically happens when:
- Support staff reject a deletion request
- Technical issues prevent resource removal
- Business rules block the deletion
- The request is canceled before completion
Configuration
Backend Setup
Configure the ticketing backend in settings:
1 2 3 4 5 | |
Status Mapping
IssueStatus objects can be configured through the API or admin interface to map backend statuses correctly.
API Management (Staff Only)
Staff users can manage IssueStatus configurations through the REST API:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | |
Response Format:
1 2 3 4 5 6 7 | |
Programmatic Setup
For automated deployment, use data migrations or management commands:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Best Practices
- Status Configuration: Ensure all possible backend statuses are mapped in IssueStatus
- Use the
/api/support-issue-statuses/API for programmatic management - Staff users should regularly review and update status mappings
-
Document your backend's status workflow and map all statuses accordingly
-
Monitoring: Regularly sync issues to detect status changes
- Error Handling: Implement proper error handling in callbacks
- Logging: Monitor handler execution through logs for debugging
- Testing: Test status transitions with different order types
- API Management: Use the REST API for consistent status configuration across environments
Troubleshooting
Callbacks Not Firing
- Check if IssueStatus entries exist for the backend's status values
- Verify the offering type is set to
"Marketplace.Support" - Ensure issue synchronization is running
- Check logs for handler execution
Wrong Callback Triggered
- Review IssueStatus type configuration
- Verify the order type (CREATE/UPDATE/TERMINATE)
- Check the issue resolution logic in logs
Missing Status Mappings
If you see critical log messages about missing statuses:
1 | |
Resolution Options:
- API Management (Recommended): Use the REST API to add missing statuses:
1 2 3 4 5 6 7 | |
-
Admin Interface: Add the required IssueStatus entries through Django admin
-
Identify Missing Statuses: Check your backend system for all possible status values and ensure each has a corresponding IssueStatus entry
Common Missing Statuses by Backend:
- JIRA: "To Do", "In Progress", "Done", "Cancelled"
- SMAX: "Open", "In Progress", "Resolved", "Rejected"
- Zammad: "new", "open", "pending reminder", "pending close", "closed"
Use GET /api/support-issue-statuses/ to view currently configured statuses and compare against your backend's status list.
Valimo Authentication Plugin
The Valimo plugin enables Waldur authentication using mobile PKI (Public Key Infrastructure) from Valimo.
Note: Only authentication is supported - auto-registration is not available.
Authentication Flow
1. Initiate Login
Issue a POST request to /api/auth-valimo/ with the user's phone number:
1 2 3 | |
Waldur will create an AuthResult object and request authentication from the Valimo PKI service. The response includes a message field containing the verification code sent to the user via SMS.
2. Poll for Result
Poll the authentication status by issuing POST requests to /api/auth-valimo/result/ with the UUID from step 1:
1 2 3 | |
3. Check Authentication State
The response will contain one of the following states:
| State | Description |
|---|---|
Scheduled |
Login process is scheduled |
Processing |
Login is in progress |
OK |
Login was successful. Response will contain token. |
Canceled |
Login was canceled by user or timed out. Check details field for more info. |
Erred |
Unexpected exception during login process |
4. Retrieve Token
After successful login (state: OK), the /api/auth-valimo/result/ response will contain the authentication token.
Configuration
The Valimo authentication method must be enabled in Waldur settings. See the Configuration Guide for details on enabling authentication methods.
Ended: Plugins
Ended: Developer guide
Integrations ↵
Integrations
Waldur connects with a wide range of resource providers, identity services, and management tools to create a comprehensive orchestration platform. These integrations are continually expanded based on user requirements and can be customized for specific deployments.
Resource Provider Integrations
Compute and Cloud Services
-
OpenStack - Complete integration with OpenStack's core services (Keystone, Nova, Cinder, Glance, and Neutron) enabling management of projects, networks, subnets, floating IPs, instances, and more.
-
MS Azure - Support for creating, importing, and managing Virtual Machines on Microsoft Azure public cloud.
-
VMware - Integration with VMware virtualization platform for managing virtual infrastructure resources.
HPC and Scientific Computing
-
SLURM and MOAB - Integration with popular HPC workload managers and job scheduling systems through Waldur Site Agent, providing web-based self-service for accounts and allocation management. Site Agent supports both SLURM and MOAB workload managers, allowing efficient management of HPC resources.
-
Open OnDemand - Web-based portal for accessing HPC resources, integrated with Waldur through KeyCloak and SLURM plugins for unified account and permission management, enabling researchers to access computational resources through a user-friendly interface.
-
LEXIS Integration - Support for LEXIS (Large-scale EXecution for Industry & Society) platform integration, allowing Waldur resources to be linked with LEXIS workflows for enhanced HPC and data management capabilities.
Identity Provider Integrations
Waldur supports multiple authentication methods to meet diverse organizational needs:
-
EduGAIN - Full integration as an EduGAIN Service Provider with support for CoCo extensions, enabling secure federated academic identity management.
-
LDAP/Active Directory - Connect to existing directory services such as FreeIPA, OpenLDAP, or Active Directory with flexible schema configuration.
-
MyAccessID - Integration with GEANT's MyAccessID service, including support for Puhuri-specific APIs for enhanced functionality.
-
Keycloak - Comprehensive support for Keycloak identity servers with advanced features:
- Group synchronization capability, maintaining alignment between Keycloak groups and Waldur's internal structure
- Custom Keycloak mappers for Waldur OfferingUser usernames and group access
-
MinIO integration for policy-based access control
-
SAML2 - Support for generic SAML-based identity federations with automated account creation and updates based on SAML attributes.
-
Waldur DB - Built-in user management with customizable profile fields to adapt to specific deployment requirements.
-
GLAuth - Lightweight LDAP server integration for simple user directory management with automated config refreshing.
Service Desk Integrations
Waldur integrates with several service desk solutions to enable end-to-end support ticket management:
- Atlassian ServiceDesk - Integration with both on-premises and cloud versions
- Zammad - Open-source help desk/customer support system integration
- Microfocus SMAX - Enterprise service management integration
These integrations allow users to create support requests directly from Waldur, view ticket history and status, and interact with support personnel without leaving the Waldur interface.
AI and Automation Integrations
- Claude Desktop Integration - Waldur MCP (Model Context Protocol) server enables Claude AI assistant to query Waldur instances for reporting and deep analysis of resources and usage data, enhancing decision-making capabilities.
Additional Integrations
- Monitoring & Analytics - Support for Prometheus and Grafana for metrics collection and visualization.
- Backup Solutions - Database backup capabilities with support for S3-compatible storage services.
New integrations are continuously being developed based on user requirements. For custom integration needs, please contact the Waldur development team.
Systemd setup for glauth and config refresher
Prerequisites:
- Ensure
wgetis installed to a target machine as refreshing script uses it; - Install glauth binary to
/usr/bin/glauthupon staring glauth service, e.g. glauth v2.3.0.
Refresher service
Copy the files from this repository to a corresponding paths on the target host:
1 2 3 4 5 | |
Update .env file for the refresher service, i.e. /etc/glauth/refresher.env:
1 2 3 4 5 6 7 8 | |
Update systemd daemon configs and start and enabled the service:
1 2 3 | |
After some time, you should be able to check the prepared config file in /etc/glauth/config.cfg
Glauth service
Ensure glauth binary is installed in /usr/bin/glauth and perform the same steps for the glauth service:
1 2 3 4 | |
Integrating LEXIS with Waldur
Creating a LEXIS link for a resource
To create a LEXIS link integration with a Waldur resource the API request shown below can be sent (http refers to HTTPie client).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Alternatively this can be done through UI of Waldur as shown below.
Note: To be able to create a LEXIS link for a resource using Waldur UI:
- the offering related to the resource has to have
plugin_optionsset; - the feature
Enabled LEXIS link integrations for offerings.should be enabled in Waldur site settings.
Namely:
- heappe_url
- heappe_username
- heappe_cluster_id
- heappe_local_base_path
You can set these settings via UI:
After offering setup, you can create a LEXIS link for an existing resource:
Listing all LEXIS links
To view all LEXIS links the API request shown below can be sent.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Response example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Note: A LEXIS link can be in one of the following states:
- Pending
- Executing
- OK
- Erred
Listing LEXIS links can alternatively be done through Waldur UI by visiting resource details
or use administration menu if you are a staff user
Listing resources supporting LEXIS links
To list all resources supporting LEXIS links, the following API request can be used:
1 | |
The main filter is lexis_links_supported parameter.
The example response:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | |
Deleting LEXIS links
To delete a LEXIS link the API request shown below can be sent.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Integrating Open OnDemand with Waldur and SLURM
Components used
Open OnDemand is an open source software that empowers students, researchers, and industry professionals with remote web access to supercomputers.
Waldur is an open source platform for running HPC and Cloud self service.
SLURM is an open source, fault-tolerant, and highly scalable cluster management and job scheduling system for large and small Linux clusters.
Keycloak is an open source software product to allow single sign-on with identity and access management aimed at modern applications and services.
MyAccessID (optional) Identity and Access Management Service is provided by GEANT with the purpose of offering a common Identity Layer for Infrastructure Service Domains (ISDs).
Integration overview
flowchart TD
User[👤 Local or federated user] --> Keycloak[🔐 Keycloak<br/>Identity Server]
Keycloak --> Waldur[🏛️ Waldur<br/>Management Platform]
Keycloak --> OOD[💻 Open OnDemand<br/>Web Interface]
LDAP[📋 Existing LDAP<br/>User Directory] --> LDAPService[🔧 LDAP Microservice]
LDAPService --> |SSSD-LDAP connect| SLURM[⚡ SLURM Cluster]
LDAPService --> |SSSD-LDAP connect| OOD
Waldur --> |Pulls users| LDAPService
Agent[🤖 Waldur Site Agent<br/>Resource Manager] --> |Pushes usages| Waldur
Agent --> |Pulls accounts| Waldur
Agent --> |Creates accounts| SLURM
Agent --> |Connects via SSH and launches jobs| SLURM
OOD --> |SSSD-LDAP connect| LDAPService
classDef user fill:#e1f5fe,stroke:#0277bd,stroke-width:2px
classDef waldur fill:#c8e6c9,stroke:#388e3c,stroke-width:2px
classDef external fill:#fff3e0,stroke:#f57c00,stroke-width:2px
classDef infrastructure fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
class User user
class Waldur,LDAPService,Agent waldur
class LDAP,SLURM external
class Keycloak,OOD infrastructure
OOD requirements
- Shared user directory storage available both on SLURM and OOD VMs
- Dedicated hostname for OOD machine (like ood.example.com)
- Open TCP/80 and TCP/443, ability to connect LDAP on SLURM management machine
- Linux server with at least 4GB of RAM and 10GB of storage disk
Open OnDemand (OOD) installation and configuration
Follow the guide at https://github.com/OSC/ood-ansible to automatically install OOD on the Linux server.
Preparation guide:
- Setup a certificate to later use in ansible configuration:
1 2 | |
- In Keycloak create a client with authentication enabled for the Open OnDemand.
- Populate the ansible inventory.yaml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
- Apply the playbook:
1 | |
User authentication flow
-
OOD gets Linux username from preferred_username claim from Keycloak
-
OOD launches a "Per User Nginx" (PUN) environment after success user login
-
OOD connects to a SLURM cluster with the selected preferred_username
flowchart LR
User[👤 User] --> |Authenticates| OOD[💻 OOD starts per-user<br/>environment on the VM]
OOD --> |Logins as the specific user| SLURM[⚡ SLURM login node]
classDef user fill:#e1f5fe,stroke:#0277bd,stroke-width:2px
classDef system fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef cluster fill:#fff3e0,stroke:#f57c00,stroke-width:2px
class User user
class OOD system
class SLURM cluster
Keycloak configuration
Keycloak acts as a central Identity server for Waldur and Open OnDemand.
Steps to configure Keycloak:
- Configure Waldur and Open Ondemand clients
- Configure identity federation or user self-registration. If identity federation is used, common task is to configure username mapping like mentioned in https://puhuri.neic.no/idp_integration/use-cases/keycloak-integration/
- Install waldur-username-mapper for matching Keycloak or federated users with their respective Linux usernames: https://docs.waldur.com/integrations/waldur-keycloak-mapper/
Open OnDemand cluster configuration
To configure the connection between Open OnDemand and SLURM you need to manually configure the cluster config /etc/ood/config/clusters.d/my_cluster.yml:
1 2 3 4 5 6 7 8 9 | |
Waldur Site Agent configuration
Waldur Site Agent is a microservice for pulling allocation from Waldur and pushing the allocation usage statistics back to Waldur.
The microservice supports 2 modes of operation:
- Docker Compose - testing only, requires SLURM running in the same docker compose
- Native - production
Follow Waldur Site Agent documentation for installation guide. Make sure to enable the enable_user_homedir_account_creation flag - Open OnDemand does not work unless the user's home directory exists.
Host-based SSH authentication configuration
One of the methods to allow OOD to connect to SLURM login node is to setup a host-based “trust” or “SSH host-based authentication” between OOD VM and SLURM login node.
Use https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Host-based_Authentication as a guide.
Troubleshooting
- OOD login and preferredUsername fetching errors are located in /var/log/httpd/error.log or similar
- Per user application or SLURM configuration errors are located in /var/log/ondemand-nginx/USERNAME/
- By default, OOD does not well tolerate setting arbitrary prepends for the URL — prefer using https://ood.example.com instead of https://ood.example.com/
- Most common SSSD / LDAP configuration errors include:
- Wrong LDAP filter
- SSSD is not able to reach LDAP server (network error)
- SSSD installed without sssd-ldap plugin
- Home directory of the user has not been created
- Make sure to specify correct SLURM account in the OOD job configuration:
Service Desk integrations
Waldur supports integrations with several widely used service desk solutions. Integration allows creation of support requests directly from Waldur. In addition, replies from the support personnel are synchronised with Waldur so that the end users are never directly exposed to the service desk software. Users can see the issues' history, current status of active tickets as well as are able to interact with tickets from within Waldur.
Currently supported service desk solutions:
- Atlassian ServiceDesk (on-prem and cloud);
- Zammad;
- Microfocus SMAX.
Waldur keycloak mapper ↵
Waldur Keycloak mapper
This repository contains custom Keycloak OIDC protocol mappers that integrate with Waldur (cloud platform) to provide dynamic user authentication and authorization capabilities. The mappers enable seamless integration between Keycloak identity provider and Waldur's permission system.
Waldur OfferingUser username mapper
Goal
Maps Keycloak users to their corresponding usernames in Waldur offerings, enabling consistent user identification across systems.
Capabilities
- Dynamic Username Resolution: Retrieves the preferred username for a user from Waldur's marketplace offering users API
- Token Integration: Adds the resolved username as a custom claim in OIDC tokens (ID token, access token, and user info)
- Offering-Specific Mapping: Configurable per offering UUID to support different username schemes across offerings
- Secure API Communication: Supports both TLS-validated and non-validated connections to Waldur API
- Error Handling: Graceful handling of API failures with comprehensive logging
Configuration Parameters
- Waldur API URL: Base URL to Waldur API (e.g.,
https://waldur.example.com/api/) - Offering UUID: Specific offering identifier in Waldur
- API Token: Authentication token for Waldur API access
- TLS Validation: Enable/disable TLS certificate validation
- Claim Name: Custom name for the token claim containing the username
Waldur Offering access mapper
Goal
Dynamically manages Keycloak group memberships and role assignments based on user access permissions in Waldur offerings.
Capabilities
- Dynamic Access Control: Checks user access to specific Waldur offerings in real-time
- Group Management: Automatically adds/removes users from Keycloak groups based on offering access
- Role Assignment: Grants or revokes Keycloak roles based on offering permissions
- Bidirectional Sync: Both grants access when user has permissions and revokes when access is lost
- Flexible Username Sources: Supports both Keycloak user ID and username for Waldur API calls
- Token Claims: Optionally adds group information to OIDC tokens
Configuration Parameters
- Waldur API URL: Base URL to Waldur API
- Offering UUID: Target offering identifier for access checks
- API Token: Waldur API authentication token
- Username Source: Choose between Keycloak user ID or username (
idorusername) - Group Management:
- Group name to manage
- Enable/disable automatic group addition
- Role Management:
- Role name to grant/revoke
- Enable/disable automatic role assignment
- Claim Name: Custom token claim for group information
Use Cases
- Service Access Control: Automatically grant access to services based on Waldur offering subscriptions
- Team Management: Sync team memberships between Waldur and Keycloak
- Resource Permissions: Map Waldur resource access to Keycloak authorization
Waldur MinIO mapper
Goal
Generates MinIO-compatible policy claims for object storage access control based on user permissions in Waldur.
Capabilities
- Permission Aggregation: Collects user permissions from Waldur across different scope types
- Policy Generation: Creates comma-separated lists of resource UUIDs for MinIO policies
- Scope-Based Filtering: Supports both
customerandprojectscope types for permission queries - Role-Based Access: Filters permissions by user roles (owner, manager, etc.) within each scope
- Token Integration: Embeds policy information directly in OIDC tokens for MinIO consumption
- Flexible Username Sources: Supports both Keycloak user ID and username for API authentication
- Secure Communication: Configurable TLS validation for API calls
Configuration Parameters
- Waldur API URL: Base URL to Waldur API
- API Token: Waldur API authentication token
- Permission Scope: Choose between
customerorprojectscope types - TLS Validation: Enable/disable certificate validation
- Username Source: Use Keycloak user ID or username for API calls
- Claim Name: Token claim name for the policy data
Example Output
For a user who is an owner in customers C1, C2 and manager in projects P1, P2:
Customer scope: policy=c1-uuid-here,c2-uuid-here
Project scope: policy=p1-uuid-here,p2-uuid-here
MinIO Integration
The generated policy claims can be used by MinIO to: - Bucket Access Control: Grant access to buckets based on customer/project membership - Object-Level Permissions: Control file access within buckets - Dynamic Policy Updates: Automatically update access as Waldur permissions change
Building from Source
Prerequisites
- Java 8 or higher: The project is compiled with Java 8 target compatibility
- Apache Maven 3.6+: Required for building and dependency management
- Git: For cloning the repository
Build Instructions
- Clone the repository:
1 2 | |
- Build the JAR file:
1 | |
This will:
- Download all required dependencies
- Compile the Java source code
- Run any tests (if present)
- Create a shaded JAR with all dependencies included
- Place the built JAR in the target/ directory
- Locate the built JAR:
The compiled JAR file will be available at:
1 | |
Build Options
- Clean build: Remove previous build artifacts before building
1 | |
- Skip tests: Build without running tests (if any)
1 | |
- Custom version: Build with a specific version number
1 | |
Development Environment
For development, you can use any Java IDE that supports Maven projects:
- IntelliJ IDEA: Import as Maven project
- Eclipse: Import existing Maven project
- VS Code: Use Java Extension Pack with Maven support
The project uses Maven's standard directory layout:
- src/main/java/: Java source files
- src/main/resources/: Resource files and service registration
- target/: Build output directory
Installation and setup
Custom mapper setup includes the following steps:
-
Download the jar file to your machine, e.g. one of these releases.
-
Add the jar file to the providers directory. If a Keycloak server is running in a Docker container via Docker Compose, you can mount the file as a volume:
1 2 3 4 5 6 7 8
keycloak: image: "quay.io/keycloak/keycloak:18.0.2" container_name: keycloak command: start-dev --http-relative-path /auth ports: - "${KEYCLOAK_PORT:-8080}:8080" volumes: - waldur-keycloak-mapper-1.0.jar:/opt/keycloak/providers/waldur-keycloak-mapper-1.0.jar -
Restart the deployment to apply the changes.
-
You can find the mapper in client menu under "Mappers" section. The title is "Waldur preferred username mapper"
Ended: Waldur keycloak mapper
Waldur MCP server
Waldur MCP server enables integration between Waldur instance and Claude Desktop by implementing the Model Context Protocol (MCP). This allows Claude to interact with your Waldur instance directly.
Quickstart
-
Install Claude Desktop for your platform from the Claude Desktop releases page
-
Install Python 3.13 or higher.
-
Install uv package manager.
Installation
To install the package:
1 | |
Or with uv:
1 | |
Generate Waldur Token
- Log in to your Waldur instance
- Navigate to Username > Credentials > API Token
- Generate a new token with appropriate token lifetime - you'll need it for configuration
Claude Desktop MCP Server Configuration
On Windows: %APPDATA%\Claude\claude_desktop_config.json
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Development/Unpublished Servers Configuration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Published Servers Configuration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Debugging
On macOS, log files are located at ~/Library/Logs/Claude/mcp.log
If you encounter a spawn uvx ENOENT error, verify that your PATH environment variable includes the Python installation directory where uv is installed. Alternatively, you can specify the full path to uvx in the configuration file, for example:
~/Library/Frameworks/Python.framework/Versions/3.13/bin/uvx
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm with this command:
1 | |
When debugging, you'll need to set the required environment variables. Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
Common issues
- Invalid token: Verify token permissions and expiration
- Connection issues: Check WALDUR_API_URL is accessible
Ended: Integrations
Integrator guide ↵
Waldur Release Lifecycle and API Stability Guarantees
Introduction to API Policies
Waldur's API lifecycle management balances innovation with stability through defined policies:
- Release Cadence:
- 2 major releases per year (every 6 months)
-
4 minor releases per year (every 3 months)
-
API Group Segmentation:
- APIs are grouped by functional domains (e.g.,
core,marketplace,openstack) -
Groups have independent maturity levels and versioning
-
API Maturity Management:
- Three maturity levels:
alpha,beta,stable -
Each level has specific stability guarantees and versioning rules
-
Change Classification:
- Backward-compatible (additive changes) and backward-incompatible (breaking changes)
-
API changes, database changes, configuration and deployment changes
-
Change Communication:
- For Waldur developers: via commit message and OpenAPI schema linter
- For release manager: breaking changes in stable APIs trigger policy validation
- For external developers: via OpenAPI schema, SDK documentation, code transformations and validation tools
- For external scripts: via OpenAPI schema validation and version validation in HTTP response
- For Waldur operators: via release impact assesment CLI tooling and Waldur dashboard
Waldur MasterMind lifecycle strategy enables:
- Rapid Innovation through alpha/beta channels
- Enterprise Stability through backported security patches
- Risk Mitigation with pre-upgrade analysis
- Seamless Upgrades using migration tooling
Release Cadence
Waldur MasterMind Release Timeline
gantt
dateFormat YYYY-MM-DD
axisFormat %b %Y
section Releases
Major 2025.1 : milestone, m1, 2025-01-01, 0d
Minor 2025.1.1 : milestone, m2, 2025-04-01, 0d
Minor 2025.1.2 : milestone, m3, 2025-07-01, 0d
Minor 2025.1.3 : milestone, m4, 2025-10-01, 0d
section Stable API v1
Active Support : active_stable1, 2025-01-01, 2025-07-01
Security Maintenance : maint_stable1, 2025-07-01, 2026-01-01
section Stable API v2
Active Support : active_stable2, 2025-07-01, 2026-01-01
section Beta API v1beta1
Active Support : active_beta1, 2025-01-01, 2025-04-01
Maintenance : maint_beta1, 2025-04-01, 2025-07-01
section Beta API v1beta2
Active Support : active_beta2, 2025-04-01, 2025-07-01
section Alpha API v1alpha1
Unsupported : alpha1, 2025-01-01, 2025-04-01
section Alpha API v1alpha2
Unsupported : alpha2, 2025-04-01, 2025-07-01
API Maturity Levels
| Maturity | Breaking Changes | Support Window | Version Format | Recommended Use |
|---|---|---|---|---|
| Alpha | Daily | None | 2025.2-dev.45 | Internal development only |
| Beta | Quarterly | 90 days | 2025.2-beta.3 | Preview environments |
| Stable | Bi-annually | 180 days | 2025.2.5 | General production |
Alpha Level
- Versioning:
XalphaY(e.g.,1alpha1) - Availability: In main repo, disabled by default (feature flag)
- Audience: Developers and expert users
- Completeness: Partial implementation expected
- Upgradeability: No upgrade path; breaking changes without notice
- Reliability: May destabilize deployments
- Support: No commitment to completion or long-term support
- Use Cases: Short-lived testing environments only
Beta Level
- Versioning:
XbetaY(e.g.,2beta3) - Availability: In releases, disabled by default (feature flag)
- Audience: Users providing feedback
- Completeness: Full implementation with API review
- Upgradeability: Breaking changes with documented migration path
- Reliability: Minor bugs possible, shouldn't break core functionality
- Support: Two concurrent versions supported for ≥1 minor release (3 months)
- Use Cases: Evaluation environments and limited production trials
Stable Level
- Versioning:
X(e.g.,v3) - Availability: Enabled by default in releases
- Audience: All users
- Completeness: Full implementation with integration tests
- Upgradeability: Only backward-compatible changes allowed
- Reliability: High stability guarantee
- Support: Maintained for ≥1 major release cycle (6 months) after deprecation
- Use Cases: All production environments
Types of API Changes
Backward-Incompatible Changes
- URL format changes
- Removing/renaming resources, parameters, properties, or methods
- Changing parameter/property types
- Modifying HTTP status codes
- Changing optional field to mandatory in REST API
- Adding required parameters
Backward-Compatible Changes
- Adding new resources
- Adding operations to existing resources
- Adding optional parameters
- Adding response fields
- Extending string formats
- Adding enum values
graph TD
A[Proposed API Change] --> B{Backward Compatible?}
B -->|Yes| C[Apply to current version]
B -->|No| D{Maturity Level}
D -->|Alpha| E[Increment alpha version<br>e.g. v1alpha1 → v1alpha2]
D -->|Beta| F[Increment beta version<br>e.g. v1beta1 → v1beta2<br>Support both for ≥3 months]
D -->|Stable| G[Create new major version<br>e.g. v1 → v2<br>Deprecate old version<br>Support for ≥6 months]
Change Communication
Change Communication Stages
flowchart LR
%% Merged Development & Pre-Release Phase
subgraph DevPre[Development & Pre-Release]
direction TB
DP1[Commit Messages]
DP2[OpenAPI Linter]
DP3[Policy Validation]
DP4[Breaking Change Review]
DP1 --> DP2 --> DP3 --> DP4
end
subgraph Release[Release Phase]
direction TB
R1[OpenAPI Schema]
R2[SDK Docs]
R3[Code Tools]
R1 --> R2 --> R3
end
subgraph Runtime[Runtime Phase]
direction TB
RT1[HTTP Headers]
RT2[Schema Validation]
RT1 --> RT2
end
subgraph Upgrade[Upgrade Phase]
direction TB
U1[Impact CLI]
U2[Dashboard]
U3[Dry-Run]
U1 --> U2 --> U3
end
%% Connections between phases
DevPre --> Release
Release --> Runtime
Runtime --> Upgrade
Change Communication Schedule
gantt
title Deprecation Schedule for API v2025.1
dateFormat YYYY-MM-DD
section Lifecycle
Active Development : active, 2025-01-01, 90d
Deprecation Notice : 2025-04-01, 90d
Compatibility Mode : 2025-07-01, 90d
End of Life : 2025-10-01, 1d
| Phase | Duration | Communication Channels |
|---|---|---|
| Announcement | 90 days | API headers, OpenAPI metadata, email notices, developer portal |
| Compatibility | 180 days | Support both versions, code transformation tools, migration guides |
| End of Life | Immediate | Remove deprecated endpoints |
Impact Preview & Reporting
graph LR
A[Upgrade Initiated] --> B[Version Comparison]
B --> C[Database Impact Scan]
B --> D[Config Change Analysis]
B --> E[API Compatibility Check]
C --> F[Migration Preview Report]
D --> G[Config Diff Report]
E --> H[Breaking Changes List]
F --> I[Consolidated Impact Report]
G --> I
H --> I
Impact Report Components
-
Database Impact:
-
Schema changes
- Data migration requirements
-
Estimated execution time
-
API Compatibility:
-
Breaking changes
- Required client updates
-
Deprecation timeline
-
Configuration Changes:
-
Modified settings
- New environment variables
- Security implications
Impact Report Sample
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Stabilization Action Plan
Phase 1: Inventory & Classification
- Catalog all API endpoints by functional group
- Assign current maturity level (alpha/beta/stable)
- Identify breaking changes in last 2 releases
Phase 2: Stabilization Foundations
- Add header-based versioning (
Waldur-Version) - Introduce version match validation in SDK
- Introduce standardized error format
- OpenAPI schema validation in pull requests
- Breaking change detection gates
- Automated SDK documentation publishing
- Set up versioning automation for alpha/beta releases
Phase 3: Impact Analysis Tooling
- Database migration previews
- Configuration change detection
- API compatibility scanning
- Dry-run execution framework
- Risk score calculation
- Data loss probability assessment
- Downtime estimation
- Actionable remediation steps
- Automated customer alerts
- Personalized impact assessments
- Upgrade scheduling dashboard
Key Metrics for Success
- 100% breaking changes detected in CI
- Zero unannounced breaking changes in stable APIs
- 90%+ deprecated endpoints removed on schedule
- <30 days between beta and stable promotion
- 100% of new features launch behind feature flags
Example workflows
These examples demonstrate how to apply lifecycle and communication rules in practice.
Patching and Releasing an Older Supported Release
Context: Waldur 2025.1 is in Security Maintenance phase.
Scenario: A security bug is discovered in the marketplace app in version 2025.1.
Steps:
- Create a branch from the
release/2025.1tag. - Apply the patch fix (e.g., sanitize input in
marketplace.views.OfferingViewSet). - Bump patch version:
2025.1.4→2025.1.5. - Add changelog entry under
SECURITY FIXES. - Create new tag
release/2025.1.5, trigger CI/CD.
Communication:
- Email notification for operators
- Waldur HomePort dashboard warning for operators
Adding a New Endpoint in a Mature App (e.g., openstack, maturity: stable)
Scenario: Add a new endpoint to list all flavors with extended metadata.
Constraints:
- Must be backward-compatible
- Cannot break existing consumers
Steps:
- Create a new action or viewset method:
GET /openstacktenant-flavors/extended/. - Use
@extend_schemato document new response format in OpenAPI. - Add unit and integration tests.
- Add a changelog entry under
FEATURES. - Merge into
develop. - New version number will be minor: e.g.,
2025.2.3→2025.2.4.
Communication:
- Added to OpenAPI schema
- SDK is regenerated
- Endpoint is announced in changelog
Adding a New Endpoint in an Experimental App (e.g., checklist, maturity: alpha)
Scenario: Introduce a new endpoint for scoring checklist responses.
Steps:
- Create endpoint:
POST /checklist-items/{uuid}/score/. - No guarantee of stability — endpoint can be renamed/removed later.
- Version updated in
checklist.VERSION = 2025.2-alpha.7. - No changelog required, but internal commit message must follow pattern:
1 | |
Communication:
- Only available when feature flag enabled
- Not included in stable OpenAPI documentation
- Optional preview in dev dashboard
Reporting
Examples below show how it's possible to use Waldur SDK for generation of custom reports.
Running the scripts
All of the scripts below should be saved as files and executed in the environment with installed Waldur SDK. Please make sure that you have python3 and pip installed in your command line.
Make sure that you update WALDUR_HOST and TOKEN with values that match your target Waldur deployment.
1 2 | |
Project reporting
The first scenario is report generation about monthly costs of each project.
The name of the output file is project-report.csv.
Code example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | |
Example of output file content:
1 2 3 4 5 | |
OpenStack tenant reporting
The second scenario is report generation about quotas and monthly costs of OpenStack tenants.
The name of the output file is openstack-report.csv.
Code example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | |
Example of output file content:
1 2 3 4 5 | |
Reporting by provider
To get CSV summary of consumption by provider, the following script can be useful. Output will be a file per provider with a short summary of invoice items for the defined period.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | |
Waldur Python SDK
Waldur SDK is a thin Python wrapper for common REST operations.
It allows you to interact with the Waldur REST API directly from your Python code.
The SDK is provided as a Python module named waldur_api_client.
Installation
The Waldur SDK is available on PyPI and can be installed using either pip or poetry:
1 2 | |
In order to perform operations, a user needs to create an instance of AuthenticatedClient class:
1 2 3 4 5 6 | |
This instance provides interface for further interaction with Waldur and will be used across examples in related documentation.
Error handling
If the API call fails or returns an unexpected status code, it may raise UnexpectedStatus exception if the client is configured with raise_on_unexpected_status=True. This can be handled using a try...except block. The exception contains both the status code and the response content for debugging purposes.
Example:
1 2 3 4 5 6 7 8 9 10 | |
The UnexpectedStatus exception is raised when:
- The API returns a status code that is not documented in the OpenAPI specification
- The
raise_on_unexpected_statusclient setting is enabled (default is disabled)
Disabling TLS validation (not recommended!)
If you are running your commands against Waldur deployment with broken TLS certificates (e.g. in development), the trick below can be used to disable validation of certificates by SDK, beware that this is a security risk.
1 2 3 4 5 | |
Sometimes you may need to authenticate to a server (especially an internal server) using a custom certificate bundle.
1 2 3 4 5 | |
Air gapped installation
If your machine from where you run SDK is not connected to the public Internet, you can use the following method to transfer required libraries.
On the machine with access to the Internet:
1 2 3 | |
Now transfer content of the dependencies folder and requirements.txt to a machine without public Internet and run.
1 | |
Service Provider Onboarding
This page describes onboarding steps for a service provider via Waldur REST API.
Slurm Agent Integration
The following steps are specific for SLURM plugin in Waldur.
Creation of SLURM Offering in Waldur
This section describes creation of SLURM offering in Waldur, which is managed by Waldur Site Agent.
Example request
1 2 3 | |
Body:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
Example response
Status code: 201
Body:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | |
Setting up integration options of the SLURM Offering
For automated management of the offering-related accounts in Waldur, the service provider should update the integration options for the offering.
Example request
1 2 3 | |
Body:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Example response
Status code: 200 Body: empty
Activation of the SLURM Offering
After creation, the offering is in Draft state meaning the service provider can edit it, but it is hidden from Wadlur marketplace.
In order to publish it, the service provider should activate the offering the way described below.
Example request
1 2 3 | |
Note: This endpoint doesn't require any body.
After sending this request, the offering becomes activated, its state switched to Active
and users of the marketplace can order resources.
Example response
Status code: 201
Body: empty
Creation of a service account user
For further management of the offering, Waldur Site Agent need a service account with access to the offering. This section describes how to create such a user.
Example request
1 2 3 | |
Body:
1 2 3 4 5 6 7 8 9 10 | |
Example response
Status: 201
Body:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
Assigning service provider permissions to the user
After user creation, you need to grant them permissions for offering management.
Waldur uses OFFERING.MANAGER role for this.
Example request
1 2 3 | |
Body:
1 2 3 4 | |
Example response
Status code: 201
Body: empty
Service Account Token Retrieval
As a staff user, you can fetch any other user's token. For this, use token endpoint on a selected user.
Example request
1 2 | |
Example response
Status code: 200
Body:
1 2 3 4 5 6 7 8 9 | |
Service Account Token Refresh
As a staff user, you can also manually refresh any other user's token.
For this, use refresh_token endpoint on a selected user.
Example request
1 2 3 | |
Body: not required
Example response
Status code: 201
Body:
1 2 3 4 5 6 7 8 9 | |
APIs ↵
REST API
Authentication
Waldur uses token-based authentication for REST.
In order to authenticate your requests first obtain token from any of
the supported token backends. Then use the token in all the subsequent
requests putting it into Authorization header:
1 2 3 4 | |
Also token can be put as request GET parameter, with key x-auth-token:
1 2 3 | |
API version
In order to retrieve current version of the Waldur authenticated user should send a GET request to /api/version/.
Valid request example (token is user specific):
1 2 3 4 5 | |
Valid response example:
1 2 3 4 5 6 7 8 | |
Pagination
Every Waldur REST request supports pagination. Links to the next, previous, first and last pages are included in the Link header. X-Result-Count contains a count of all entries in the response set.
By default page size is set to 10. Page size can be modified by passing ?page_size=N query parameter. The maximum page size is 100.
Example of the header output for user listing:
1 2 3 4 5 6 7 8 9 10 | |
Common operations
If you are integrating a python-based application, you might find useful a python wrapper for typical operations.
Almost all operations require authentication. Authentication process is a two-step:
- Generation of authentication token using Authentication API.
- Passing that token in the Authorization header along with all other REST API calls.
Please note that all of the responses to the listing are paginated, by default up to 10 elements are returned.
You can request more by passing page_size=<number> argument, number up to 200 will be respected. Information
about the whole set is contained in the response headers. Check example of a "get_all" function
to see how a full traversal can be done.
Project management
Customer lookup
Waldur implements a multi-tenant model to allow different organizations to allocate shared resources simultaneously and independently from each other. Each such organizaton is a customer of Waldur and is able to create its own projects. Project allows us to create new allocations as well as connect users with the project.
Hence, to create a project, one needs first to have a reference to the customer. The reference is a stable one and can be cached by a REST API client.
Examples:
Project creation
In order to create a new project in an organization, user needs to provide the following fields:
customer- URL of the project's organizationname- project's namedescription- description of a project descriptionend_date- optional date when the project and all allocations it contains will be scheduled for termination.backend_id- optional identifier, which is intended to be unique in the resource allocator's project list. Can be used for connecting Waldur projects with the client's project registry.oecd_fos_2007_code- optional OECD Field of Science code. A code is represented by a string with two numbers separated by dot for a corresponding field of science. For example"1.1"is code for Mathematics. More information can be found here.
Please note that the project becomes active at the moment of creation!
Examples:
Project update
It is possible to update an existing project using its URL link. Name, description and backend_id can be updated.
Examples:
Project lookup
User can list projects and filter them using the following query parameters:
name- project's name (uses 'contains' logic for lookup)name_exact- project's exact namedescription- project's description (uses 'contains' logic for lookup)backend_id- project's exact backend ID
In case API user has access to more than one customer, extra filter by customer properties can be added:
customer- exact filter by customer UUIDcustomer_name- filter by partial match of the full name of a customerabbreviation- filter by partial match of the abbreviation of a customer
Examples:
Project membership management
Creating a membership for a user means creating a permission link. While multiple roles of a user per project are allowed, we recommed for clarity to have one active project role per user in a project.
The list of fields for creation are:
user- a user's UUID, looked up from a previous step.role- a role of the user. Both role UUID and name are supported. By default the system roles 'PROJECT.MEMBER', 'PROJECT.ADMIN' and 'PROJECT.MANAGER' are supported. TODO: add reference to Puhuri terminology.expiration_time- an optional field, if provided, it should contain date or ISO 8601 datetime.
To remove the permission, REST API client needs to send a HTTP request using the same payload as for permission creation,
but to delete_user endpoint .
It is also possible to list available project permissions along with a role filter.
Examples:
- API call for allocating members to a project
- API call for removing members from a project
- API call to listing project permissions
Resource allocation management
Creating and managing resource allocations in Waldur follows ordering logic.
All operations on resources, which lead to changes in allocations - e.g. creation, modification of allocated limits or termination - are wrapped in an order.
Listing offerings
To create a new Allocation, one must first choose a specific Offering from available. Offering corresponds to a specific part of a shared resource that Resource Allocator can allocate. Offerings can be visible to multiple allocators, however in the first iteration we plan to limit allocators with access to only their owned shares.
User can fetch offerings and filter them by the following fields:
name- offering's namename_exact- offering's exact namecustomer- organization's URLcustomer_uuid- organization's UUID
Generally Offering has a stable UUID, which can be used in Waldur client configuration. Offering defines inputs that are required to provision an instance of the offering, available accounting plans (at least one should be present) as well as attributes that can or should be provided with each request.
Each Offering contains one or more plans, you will need to provide a reference (URL) to the plan when creating an allocation.
API examples:
Orders and resources
To create a new allocation, an order must be created with requested attributes: project as well as details about the allocations.
Order might require additional approvals - in this case upon creation its status will be pending-consumer or pending-provider, which
can transition to REJECTED if order is rejected.
Otherwise it will be switched to EXECUTING, ending either in DONE if all is good or ERRED, if error happens during the processing.
Resource UUID is available as a marketplace_resource_uuid field of the creation order.
In addition, accepting_terms_of_service flag must be provided as a lightweight confirmation that allocator is
aware and agreeing with Terms of services of a specific Offering.
Example of the order payload sent with POST to https://puhuri-core-beta.neic.no/api/marketplace-orders/:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Change resource limits
Send POST request to https://puhuri-core-beta.neic.no/api/marketplace-resources/<UUID_OF_A_RESOURCE>/update_limits/ providing
the new values of limits, for example:
1 2 3 4 5 6 7 | |
Resource termination
Send POST request to https://puhuri-core-beta.neic.no/api/marketplace-resources/<UUID_OF_A_RESOURCE>/terminate/.
API examples:
- Creation of a resource allocation
- Modification of a resource allocation
- Termination of a resource allocation
Example integrations:
- Lookup of available offerings in Waldur.
- Creation of a resource in Waldur.
- Changing allocated limits in Waldur.
- Deletion of a resource allocation in Waldur.
Reporting
Getting usage data of a specific resource allocation
To get reported usage for resources, send GET request to https://puhuri-core-beta.neic.no/api/marketplace-component-usages/. If you want to get usage data of a specific resource, please add a filter, e.g. https://puhuri-core-beta.neic.no/api/marketplace-component-usages/?resource_uuid=<UUID_OF_A_RESOURCE>. Note that responses are paginated.
Additional filters that can be used:
date_before- date of the returned usage records should be before or equal to provided, format YYYY-MM-DD, e.g. 2021-03-01.date_after- date of the returned usage records should be later or equal to provided, format YYYY-MM-DD, e.g. 2021-03-01.offering_uuid- return usage records only for a specified offering.type- type of the usage record to return, e.g. 'cpu_k_hours'.
Response will contain a list of usage records with a separate record for each component per month, for example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | |
Authentication
Outline:
Waldur MasterMind exposes REST API for all of its operations. Below are examples of typical operations performed against APIs. To run the examples, we are using a HTTPie.
Almost all of the operations with API require an authentication token. Below we list two methods on how to get it.
Authentication with username and password
If your account is allowed to use username/password and the method is enabled (e.g. in dev environment), you can get a new token by submitting a username/password as JSON to a specific endpoint.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
Authentication Token management
The easiest way to obtain your token is via Waldur HomePort.
Open your user dashboard by clicking on your name in the upper left corner, then select Credentials -> API token.
A page with your API token will open. Click on the eye icon to reveal the token.
Permissions
Listing permissions
Entities of Waldur are grouped into organisational units. The following organisational units are supported: customer and project.
Each organisational unit has a list of users associated with it. Getting a list of users connected to a certain organisational unit is done through running a GET request against a corresponding endpoint.
- customer: endpoint
/api/customer-permissions/ - project: endpoint
/api/project-permissions/
Filtering by organisational unit UUID or URL is supported. Depending on the type, filter field is one of:
?customer=<UUID>?customer_url=<URL>?project=<UUID>?project_url=<URL>?user_url=<URL>
In addition, filtering by field names is supported. In all cases filtering is based on case insensitive partial matching.
?username=<username>?full_name=<full name>?native_name=<native name>
Ordering can be done by setting an ordering field with
?o=<field_name>. For descending ordering prefix field name with a
dash (-). Supported field names are:
?o=user__username?o=user__full_name?o=user__native_name
Fetch user data from Waldur using username
To fetch user data together with its permissions, you need to perform the following HTTP request.
It requires username filter and valid API token.
1 2 3 4 | |
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | |
Project API examples
Lookup allocator customers available to a user
In most cases integration user can see only one allocating organization, however it is possible that the same account is used for allocating different shares, e.g. national share and community specific. Projects are always created in the context of a specific customer, so as a first thing you need to lookup a specific customer you want to use. Customer is a stable entity, so it's URL / UUID can be cached.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
Create a new project
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | |
Update an existing project
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | |
List projects
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | |
Project members permissions allocation
User creates a role for a user in a project.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
List project permissions
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | |
Removal of members from a project
User can remove the permissions calling DELETE verb on permission's URL.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
Getting a list of offerings
User can fetch offerings and filter them by the following fields:
name- offering's namename_exact- offering's exact namecustomer- organization's URLcustomer_uuid- organization's UUIDallowed_customer_uuid- allowed organization's UUIDservice_manager_uuid- service manager's UUIDattributes- a set of attributes (key-value pairs) identifying the allocation.state- offering's state (Active,Draft,Paused,Archived), should beActivecategory_uuid- category's UUIDbillable- signalizing if an offering is billable or not, should betrueshared- signalizing if an offering is public or not, should betruetype- offering's type
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | |
Creation of a resource allocation
User can create an order providing requested allocation parameters.
project- project's UUIDoffering- respectful offering's URLattributes- specific attributes for the offeringplan- plan's URL (if offering is billable)limits- a set of resource limits for an allocation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | |
If a token belongs to a staff user, the order can be approved automatically. Otherwise, there is additional need for manual approval.
After that, order should be pulled until resource UUID is present (marketplace_resource_uuid field).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | |
Order approval and rejection
In order to approve order by consumer, you shall issue POST request against /api/marketplace-orders/{UUID}/approve_by_consumer/ endpoint. Similarly in order to approve order by provider, you shall issue POST request against /api/marketplace-orders/{UUID}/approve_by_provider/ endpoint. Otherwise, you shall issue POST request against /api/marketplace-orders/{UUID}/reject_by_consumer/ or /api/marketplace-orders/{UUID}/reject_by_provider/ endpoint.
Of course, these endpoints are available only if you have service provider or service consumer permission against corresponding offerings.
Modification of a resource allocation
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
Modification of resource allocation options
As an RA, you can update options of an allocations. Update happens through a special endpoint on a resource.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | |
Termination of a resource allocation
Termination uses a special short-cut action /terminate and returns UUID of a generated order.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
Waldur SDK Documentation
This document provides information about official Waldur SDK libraries available in multiple programming languages. All SDK clients are automatically generated from OpenAPI schema, ensuring consistency across different implementations.
Available SDKs
Python SDK
- Repository: waldur/py-client
- Auto-generated Python client for Waldur REST API
- Installation:
1 | |
TypeScript/JavaScript SDK
- Repository: waldur/js-client
- Auto-generated TypeScript/JavaScript client for Waldur REST API
- Installation:
1 | |
Go SDK
- Repository: waldur/go-client
- Auto-generated Go client for Waldur REST API
- Installation:
1 | |
Features
- Auto-generated from OpenAPI specification
- Type-safe API interfaces
- Comprehensive API coverage
- Regular updates following Waldur API changes
API Changes ↵
OpenAPI schema diff - 7.4.8
For version 7.4.8
New Endpoints: 5
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
Deleted Endpoints: None
Modified Endpoints: 429
POST /api-auth/password/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api-auth/saml2/login/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api-auth/saml2/login/complete/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api-auth/saml2/logout/complete/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/access-subnets/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/access-subnets/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/access-subnets/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/admin-announcements/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/admin-announcements/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/admin-announcements/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/auth-valimo/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/auth-valimo/result/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/aws-instances/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/aws-instances/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/aws-instances/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/aws-instances/{uuid}/resize/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/aws-volumes/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/aws-volumes/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/aws-volumes/{uuid}/attach/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/azure-public-ips/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/azure-public-ips/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/azure-public-ips/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/azure-sql-databases/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/azure-sql-databases/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/azure-sql-databases/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/azure-sql-servers/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/azure-sql-servers/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/azure-sql-servers/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/azure-sql-servers/{uuid}/create_database/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/azure-virtualmachines/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/azure-virtualmachines/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/azure-virtualmachines/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/booking-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [scope_error_message]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
GET /api/booking-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [scope_error_message]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
POST /api/broadcast-message-templates/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/broadcast-message-templates/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/broadcast-message-templates/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/broadcast-messages/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/broadcast-messages/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/broadcast-messages/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/call-managing-organisations/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/call-managing-organisations/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/call-managing-organisations/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/call-managing-organisations/{uuid}/add_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/call-managing-organisations/{uuid}/delete_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/call-managing-organisations/{uuid}/update_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/component-user-usage-limits/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/component-user-usage-limits/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/component-user-usage-limits/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/customer-credits/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/customer-credits/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/customer-credits/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/customer-credits/{uuid}/apply_compensations/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/customer-credits/{uuid}/clear_compensations/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/customers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: call_managing_organization_uuid
- Nullable changed from false to true
- Modified property: service_provider
- Nullable changed from false to true
- Modified property: service_provider_uuid
- Nullable changed from false to true
POST /api/customers/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: call_managing_organization_uuid
- Nullable changed from false to true
- Modified property: service_provider
- Nullable changed from false to true
- Modified property: service_provider_uuid
- Nullable changed from false to true
POST /api/customers/{customer_uuid}/marketplace-checklists/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: call_managing_organization_uuid
- Nullable changed from false to true
- Modified property: service_provider
- Nullable changed from false to true
- Modified property: service_provider_uuid
- Nullable changed from false to true
PATCH /api/customers/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: call_managing_organization_uuid
- Nullable changed from false to true
- Modified property: service_provider
- Nullable changed from false to true
- Modified property: service_provider_uuid
- Nullable changed from false to true
PUT /api/customers/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: call_managing_organization_uuid
- Nullable changed from false to true
- Modified property: service_provider
- Nullable changed from false to true
- Modified property: service_provider_uuid
- Nullable changed from false to true
POST /api/customers/{uuid}/add_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/customers/{uuid}/delete_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/customers/{uuid}/stats/
- New query param: for_current_month
POST /api/customers/{uuid}/update_organization_groups/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/customers/{uuid}/update_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/digitalocean-droplets/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/digitalocean-droplets/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/digitalocean-droplets/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/digitalocean-droplets/{uuid}/resize/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/event-subscriptions/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/feature-values/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/freeipa-profiles/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/freeipa-profiles/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/hooks-email/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
POST /api/hooks-email/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
GET /api/hooks-email/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
PATCH /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
PUT /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
GET /api/hooks-web/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
POST /api/hooks-web/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
GET /api/hooks-web/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
PATCH /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
PUT /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [resource_robot_account_state_changed]
POST /api/identity-providers/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/identity-providers/{provider}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/identity-providers/{provider}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/invoice-items/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/invoice-items/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/invoice-items/{uuid}/create_compensation/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/invoice-items/{uuid}/migrate_to/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/invoice/send-financial-report-by-mail/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/invoices/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compensations incurred_costs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: compensations
- New property: incurred_costs
GET /api/invoices/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compensations incurred_costs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compensations
- New property: incurred_costs
POST /api/invoices/{uuid}/paid/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compensations
- New property: incurred_costs
POST /api/invoices/{uuid}/set_backend_id/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/invoices/{uuid}/set_payment_url/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/invoices/{uuid}/set_reference_number/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/keys/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/lexis-links/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/lexis-links/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/lexis-links/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-categories/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-categories/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-categories/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-category-columns/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-category-columns/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-category-columns/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-category-components/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-category-components/{id}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-category-components/{id}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-category-groups/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-category-groups/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-category-groups/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-category-help-articles/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-category-help-articles/{id}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-category-help-articles/{id}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-checklists/{checklist_uuid}/answers/submit/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-component-usages/set_usage/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-component-usages/{uuid}/set_user_usage/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-customer-estimated-cost-policies/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-customer-estimated-cost-policies/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-customer-estimated-cost-policies/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-offering-estimated-cost-policies/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-offering-estimated-cost-policies/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-offering-estimated-cost-policies/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-offering-files/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-offering-usage-policies/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-offering-usage-policies/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-offering-usage-policies/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-offering-user-roles/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-offering-user-roles/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-offering-user-roles/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-offering-users/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-offering-users/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-offering-users/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-offering-users/{uuid}/update_restricted/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
POST /api/marketplace-orders/{uuid}/set_state_erred/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-plans/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-plans/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-plans/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-plans/{uuid}/update_organization_groups/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-plans/{uuid}/update_prices/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-plans/{uuid}/update_quotas/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-project-estimated-cost-policies/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-project-estimated-cost-policies/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-project-estimated-cost-policies/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-project-update-requests/{uuid}/approve/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-project-update-requests/{uuid}/reject/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/marketplace-provider-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [scope_error_message]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: integration_status
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: rancher_offering_uuid
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: scope_error_message
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: rancher_offering_uuid
GET /api/marketplace-provider-offerings/groups/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [scope_error_message]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: integration_status
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: rancher_offering_uuid
GET /api/marketplace-provider-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [scope_error_message]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: integration_status
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: rancher_offering_uuid
POST /api/marketplace-provider-offerings/{uuid}/add_endpoint/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/add_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/create_offering_component/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/delete_endpoint/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/delete_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/pause/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: integration_status
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: rancher_offering_uuid
POST /api/marketplace-provider-offerings/{uuid}/remove_offering_component/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/set_backend_metadata/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [scope_error_message]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: integration_status
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: rancher_offering_uuid
POST /api/marketplace-provider-offerings/{uuid}/update_attributes/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/update_description/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: integration_status
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: rancher_offering_uuid
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: secret_options
- Properties changed
- New property: rancher_offering_uuid
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: secret_options
- Properties changed
- New property: rancher_offering_uuid
POST /api/marketplace-provider-offerings/{uuid}/update_location/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/update_offering_component/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/update_options/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/update_organization_groups/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: integration_status
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: rancher_offering_uuid
POST /api/marketplace-provider-offerings/{uuid}/update_overview/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/update_resource_options/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-offerings/{uuid}/update_thumbnail/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: integration_status
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: rancher_offering_uuid
POST /api/marketplace-provider-offerings/{uuid}/update_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [scope_error_message]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: integration_status
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: rancher_offering_uuid
PATCH /api/marketplace-provider-resources/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-provider-resources/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
POST /api/marketplace-provider-resources/{uuid}/refresh_last_sync/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-resources/{uuid}/set_as_erred/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-resources/{uuid}/set_as_ok/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-resources/{uuid}/set_backend_id/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-resources/{uuid}/set_backend_metadata/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_staff/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-resources/{uuid}/set_limits/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-resources/{uuid}/set_slug/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-resources/{uuid}/submit_report/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-provider-resources/{uuid}/terminate/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-public-api/check_signature/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-public-api/set_usage/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/marketplace-public-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [scope_error_message]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
GET /api/marketplace-public-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [scope_error_message]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
POST /api/marketplace-remote-synchronisations/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-remote-synchronisations/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-remote-synchronisations/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-resource-users/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-resources/suggest_name/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-resources/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-resources/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
POST /api/marketplace-resources/{uuid}/set_end_date_by_staff/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-resources/{uuid}/set_slug/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-resources/{uuid}/switch_plan/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-resources/{uuid}/terminate/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-resources/{uuid}/update_limits/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-resources/{uuid}/update_options/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/marketplace-robot-accounts/
- New query param: state
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: error_message
- New required property: error_traceback
- New required property: state
- Properties changed
- New property: error_message
- New property: error_traceback
- New property: state
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
POST /api/marketplace-robot-accounts/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: error_message
- New required property: error_traceback
- New required property: state
- Properties changed
- New property: error_message
- New property: error_traceback
- New property: state
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: error_message
- New required property: error_traceback
- New required property: state
- Properties changed
- New property: error_message
- New property: error_traceback
- New property: state
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
PATCH /api/marketplace-robot-accounts/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: error_message
- New required property: error_traceback
- New required property: state
- Properties changed
- New property: error_message
- New property: error_traceback
- New property: state
PUT /api/marketplace-robot-accounts/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: error_message
- New required property: error_traceback
- New required property: state
- Properties changed
- New property: error_message
- New property: error_traceback
- New property: state
POST /api/marketplace-screenshots/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-screenshots/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-screenshots/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
POST /api/marketplace-script-dry-run/{uuid}/run/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: scope_error_message
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: google_calendar_is_public
- Nullable changed from false to true
- Modified property: parent_description
- Nullable changed from false to true
- Modified property: parent_name
- Nullable changed from false to true
- Modified property: parent_uuid
- Nullable changed from false to true
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: openstack_offering_uuid_list
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
POST /api/marketplace-script-sync-resource/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-sections/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/marketplace-sections/{key}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-sections/{key}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-service-providers/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: rancher_offering_uuid
PATCH /api/marketplace-service-providers/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/marketplace-service-providers/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-service-providers/{uuid}/add_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-service-providers/{uuid}/delete_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-service-providers/{uuid}/set_offerings_username/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/marketplace-service-providers/{uuid}/update_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/notification-messages-templates/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/notification-messages-templates/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/notification-messages-templates/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/notification-messages-templates/{uuid}/override/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/notification-messages/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/notification-messages/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/notification-messages/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/openstack-backups/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/openstack-backups/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-backups/{uuid}/restore/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: volumes
- Items changed
- Properties changed
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-floating-ips/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: instance_name
- Nullable changed from false to true
- Modified property: instance_url
- Nullable changed from false to true
- Modified property: instance_uuid
- Nullable changed from false to true
GET /api/openstack-floating-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_name
- Nullable changed from false to true
- Modified property: instance_url
- Nullable changed from false to true
- Modified property: instance_uuid
- Nullable changed from false to true
POST /api/openstack-floating-ips/{uuid}/attach_to_port/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-floating-ips/{uuid}/update_description/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/openstack-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: volumes
- Items changed
- Properties changed
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: volumes
- Items changed
- Properties changed
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/openstack-instances/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: volumes
- Items changed
- Properties changed
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/openstack-instances/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: volumes
- Items changed
- Properties changed
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-instances/{uuid}/backup/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-instances/{uuid}/change_flavor/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-instances/{uuid}/update_allowed_address_pairs/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-instances/{uuid}/update_floating_ips/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-instances/{uuid}/update_ports/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-instances/{uuid}/update_security_groups/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-migrations/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/openstack-migrations/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/openstack-migrations/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/openstack-networks/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/openstack-networks/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-networks/{uuid}/create_port/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-networks/{uuid}/create_subnet/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-networks/{uuid}/set_mtu/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-routers/{uuid}/set_routes/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/openstack-security-groups/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/openstack-security-groups/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-security-groups/{uuid}/set_rules/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-server-groups/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/openstack-server-groups/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/openstack-server-groups/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/openstack-snapshots/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/openstack-snapshots/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-snapshots/{uuid}/restore/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/openstack-subnets/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/openstack-subnets/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-tenants/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/openstack-tenants/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/openstack-tenants/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-tenants/{uuid}/change_password/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-tenants/{uuid}/create_floating_ip/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_name
- Nullable changed from false to true
- Modified property: instance_url
- Nullable changed from false to true
- Modified property: instance_uuid
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/create_network/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-tenants/{uuid}/create_security_group/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-tenants/{uuid}/create_server_group/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-tenants/{uuid}/set_quotas/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/openstack-volumes/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/openstack-volumes/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-volumes/{uuid}/attach/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-volumes/{uuid}/extend/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-volumes/{uuid}/retype/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/openstack-volumes/{uuid}/snapshot/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/organization-groups/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/organization-groups/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/organization-groups/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/override-settings/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/payment-profiles/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/payment-profiles/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/payment-profiles/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/payments/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/payments/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/payments/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/payments/{uuid}/link_to_invoice/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/project-credits/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/project-credits/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/project-credits/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/projects/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/projects/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/projects/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/projects/{uuid}/add_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/projects/{uuid}/delete_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/projects/{uuid}/move_project/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
GET /api/projects/{uuid}/stats/
- Description changed from '' to 'Return statistics about project resources usage'
- New query param: for_current_month
POST /api/projects/{uuid}/update_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/promotions-campaigns/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/promotions-campaigns/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-proposals/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-proposals/{uuid}/add_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-proposals/{uuid}/approve/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-proposals/{uuid}/attach_document/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-proposals/{uuid}/delete_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-proposals/{uuid}/reject/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-proposals/{uuid}/resources/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-proposals/{uuid}/update_project_details/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-proposals/{uuid}/update_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-protected-calls/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-protected-calls/{uuid}/add_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-protected-calls/{uuid}/attach_documents/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-protected-calls/{uuid}/delete_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-protected-calls/{uuid}/detach_documents/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-protected-calls/{uuid}/offerings/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-protected-calls/{uuid}/rounds/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-protected-calls/{uuid}/update_user/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-reviews/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/proposal-reviews/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/proposal-reviews/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/proposal-reviews/{uuid}/submit/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/query/
- Description changed from '' to 'Execute SQL query against readonly database'
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
- Responses changed
- New response: 400
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Type changed from 'object' to 'array'
- Items changed
- Schema added
- Required changed
- Deleted required property: query
- Properties changed
- Deleted property: query
POST /api/rancher-apps/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/rancher-apps/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/rancher-apps/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/rancher-catalogs/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/rancher-catalogs/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/rancher-catalogs/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/rancher-catalogs/{uuid}/refresh/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/rancher-clusters/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/rancher-clusters/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/rancher-clusters/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/rancher-clusters/{uuid}/create_management_security_group/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/rancher-clusters/{uuid}/import_yaml/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/rancher-hpas/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/rancher-hpas/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/rancher-hpas/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/rancher-hpas/{uuid}/yaml/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/rancher-ingresses/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/rancher-ingresses/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/rancher-ingresses/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/rancher-ingresses/{uuid}/yaml/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/rancher-nodes/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/rancher-nodes/{uuid}/link_openstack/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/rancher-services/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/rancher-services/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/rancher-services/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/rancher-services/{uuid}/yaml/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/rancher-workloads/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/rancher-workloads/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/rancher-workloads/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/rancher-workloads/{uuid}/yaml/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/remote-eduteams/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/remote-waldur-api/import_offering/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/remote-waldur-api/remote_categories/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/remote-waldur-api/remote_customers/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/remote-waldur-api/shared_offerings/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/roles/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/roles/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/roles/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/roles/{uuid}/update_descriptions/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/slurm-allocations/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/slurm-allocations/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/slurm-allocations/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/slurm-allocations/{uuid}/set_limits/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/slurm-jobs/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/slurm-jobs/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/slurm-jobs/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/support-attachments/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/support-comments/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/support-comments/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/support-feedbacks/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/support-issues/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/support-issues/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/support-issues/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/support-issues/{uuid}/comment/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/support-issues/{uuid}/sync/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/support-jira-webhook/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/support-smax-webhook/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/support-templates/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/support-templates/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/support-templates/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/support-templates/{uuid}/create_attachments/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/support-templates/{uuid}/delete_attachments/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/user-agreements/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/user-agreements/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/user-agreements/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/user-group-invitations/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/user-invitations/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/user-invitations/approve/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/user-invitations/reject/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/user-permission-requests/{uuid}/approve/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/user-permission-requests/{uuid}/reject/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/users/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/users/confirm_email/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/users/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/users/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/users/{uuid}/change_email/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/users/{uuid}/change_password/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/vmware-disks/{uuid}/extend/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/vmware-virtual-machine/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PATCH /api/vmware-virtual-machine/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
PUT /api/vmware-virtual-machine/{uuid}/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/vmware-virtual-machine/{uuid}/create_disk/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
POST /api/vmware-virtual-machine/{uuid}/create_port/
- Request body changed
- Content changed
- Deleted media type: application/x-www-form-urlencoded
- Deleted media type: multipart/form-data
OpenAPI schema diff - 7.4.9
For version 7.4.9
New Endpoints: 12
GET /api/keycloak-groups/
GET /api/keycloak-groups/{uuid}/
GET /api/keycloak-user-group-memberships/
POST /api/keycloak-user-group-memberships/
DELETE /api/keycloak-user-group-memberships/{uuid}/
GET /api/keycloak-user-group-memberships/{uuid}/
PATCH /api/keycloak-user-group-memberships/{uuid}/
PUT /api/keycloak-user-group-memberships/{uuid}/
POST /api/openstack-networks/{uuid}/rbac_policy_create/
DELETE /api/openstack-networks/{uuid}/rbac_policy_delete/{rbac_policy_uuid}/
GET /api/rancher-role-templates/
GET /api/rancher-role-templates/{uuid}/
Deleted Endpoints: 10
GET /api/icons/favicon/
GET /api/icons/hero_image/
GET /api/icons/keycloak_icon/
GET /api/icons/login_logo/
GET /api/icons/offering_logo_placeholder/
GET /api/icons/powered_by_logo/
GET /api/icons/sidebar_logo/
GET /api/icons/sidebar_logo_dark/
GET /api/icons/sidebar_logo_mobile/
GET /api/icons/site_logo/
Modified Endpoints: 141
GET /api/aws-instances/
- New query param: can_manage
GET /api/azure-public-ips/
- New query param: can_manage
GET /api/azure-sql-databases/
- New query param: can_manage
GET /api/azure-sql-servers/
- New query param: can_manage
GET /api/azure-virtualmachines/
- New query param: can_manage
GET /api/booking-offerings/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [state_code]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
GET /api/booking-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [state_code]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
GET /api/booking-resources/
- New query param: offering_shared
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
GET /api/booking-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
POST /api/call-managing-organisations/{uuid}/add_user/
- Responses changed
- New response: 201
- Deleted response: 200
POST /api/call-managing-organisations/{uuid}/update_user/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
GET /api/customers/
- New query param: owned_by_current_user
GET /api/customers/countries/
- New query param: owned_by_current_user
POST /api/customers/{uuid}/add_user/
- Responses changed
- New response: 201
- Deleted response: 200
POST /api/customers/{uuid}/update_user/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
GET /api/digitalocean-droplets/
- New query param: can_manage
GET /api/financial-reports/
- New query param: owned_by_current_user
GET /api/marketplace-orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
POST /api/marketplace-orders/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
GET /api/marketplace-orders/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-offerings/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [state_code]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: backend_url
- New property: cloud_init_template
- New property: password
- New property: username
- Deleted property: rancher_offering_uuid
- Modified property: customer_uuid
- Format changed from 'uuid' to ''
POST /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: state_code
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: backend_url
- New property: cloud_init_template
- New property: password
- New property: username
- Deleted property: rancher_offering_uuid
- Modified property: customer_uuid
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-offerings/groups/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [state_code]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: backend_url
- New property: cloud_init_template
- New property: password
- New property: username
- Deleted property: rancher_offering_uuid
- Modified property: customer_uuid
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [state_code]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: backend_url
- New property: cloud_init_template
- New property: password
- New property: username
- Deleted property: rancher_offering_uuid
- Modified property: customer_uuid
- Format changed from 'uuid' to ''
POST /api/marketplace-provider-offerings/{uuid}/add_endpoint/
- Responses changed
- New response: 201
- Deleted response: 200
POST /api/marketplace-provider-offerings/{uuid}/add_user/
- Responses changed
- New response: 201
- Deleted response: 200
POST /api/marketplace-provider-offerings/{uuid}/delete_thumbnail/
- Responses changed
- New response: 204
- Deleted response: 200
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: backend_url
- New property: cloud_init_template
- New property: password
- New property: username
- Deleted property: rancher_offering_uuid
- Modified property: customer_uuid
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [state_code]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: backend_url
- New property: cloud_init_template
- New property: password
- New property: username
- Deleted property: rancher_offering_uuid
- Modified property: customer_uuid
- Format changed from 'uuid' to ''
POST /api/marketplace-provider-offerings/{uuid}/update_description/
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: backend_url
- New property: cloud_init_template
- New property: password
- New property: username
- Deleted property: rancher_offering_uuid
- Modified property: customer_uuid
- Format changed from 'uuid' to ''
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- MinLength changed from 0 to 1
- Modified property: secret_options
- Properties changed
- New property: backend_url
- New property: cloud_init_template
- New property: password
- New property: username
- Deleted property: rancher_offering_uuid
- Modified property: customer_uuid
- Format changed from 'uuid' to ''
- MinLength changed from 0 to 1
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-offerings/{uuid}/update_location/
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-offerings/{uuid}/update_options/
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-offerings/{uuid}/update_organization_groups/
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-offerings/{uuid}/update_overview/
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-offerings/{uuid}/update_resource_options/
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-offerings/{uuid}/update_thumbnail/
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-offerings/{uuid}/update_user/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [state_code]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: backend_url
- New property: cloud_init_template
- New property: password
- New property: username
- Deleted property: rancher_offering_uuid
- Modified property: customer_uuid
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-resources/
- New query param: offering_shared
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
GET /api/marketplace-provider-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
GET /api/marketplace-provider-resources/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
POST /api/marketplace-provider-resources/{uuid}/refresh_last_sync/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
POST /api/marketplace-provider-resources/{uuid}/set_as_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
POST /api/marketplace-provider-resources/{uuid}/terminate/
- Description changed from '' to 'Create marketplace order for resource termination.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: order_uuid
- Properties changed
- New property: order_uuid
- Deleted property: attributes
GET /api/marketplace-public-offerings/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [state_code]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
GET /api/marketplace-public-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [state_code]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
GET /api/marketplace-resources/
- New query param: offering_shared
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
GET /api/marketplace-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
GET /api/marketplace-resources/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
POST /api/marketplace-resources/{uuid}/switch_plan/
- Description changed from '' to 'Create marketplace order for resource plan switch.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: order_uuid
- Deleted required property: plan
- Properties changed
- New property: order_uuid
- Deleted property: plan
POST /api/marketplace-resources/{uuid}/terminate/
- Description changed from '' to 'Create marketplace order for resource termination.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: order_uuid
- Properties changed
- New property: order_uuid
- Deleted property: attributes
POST /api/marketplace-resources/{uuid}/update_limits/
- Description changed from '' to 'Create marketplace order for resource limits update.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: order_uuid
- Deleted required property: limits
- Properties changed
- New property: order_uuid
- Deleted property: limits
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: responsible_user
- Nullable changed from false to true
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: responsible_user
- Nullable changed from false to true
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: responsible_user
- Nullable changed from false to true
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: responsible_user
- Nullable changed from false to true
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: responsible_user
- Nullable changed from false to true
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: responsible_user
- Nullable changed from false to true
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
- Modified property: responsible_user
- Nullable changed from false to true
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: state_code
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_server_flavor_name
- New property: managed_rancher_server_system_volume_size_gb
- New property: managed_rancher_server_system_volume_type_name
- Modified property: openstack_offering_uuid_list
- Items changed
- Format changed from 'uuid' to ''
GET /api/marketplace-service-providers/{service_provider_uuid}/customers/
- New query param: owned_by_current_user
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: backend_url
- New property: cloud_init_template
- New property: password
- New property: username
- Deleted property: rancher_offering_uuid
- Modified property: customer_uuid
- Format changed from 'uuid' to ''
GET /api/marketplace-service-providers/{service_provider_uuid}/user_customers/
- New query param: owned_by_current_user
POST /api/marketplace-service-providers/{uuid}/add_user/
- Responses changed
- New response: 201
- Deleted response: 200
POST /api/marketplace-service-providers/{uuid}/update_user/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
GET /api/openstack-backups/
- New query param: can_manage
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
GET /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
PATCH /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
PUT /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
POST /api/openstack-backups/{uuid}/restore/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: fixed_ips
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
GET /api/openstack-floating-ips/
- New query param: can_manage
GET /api/openstack-instances/
- New query param: can_manage
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
GET /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
PATCH /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
PUT /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
POST /api/openstack-instances/{uuid}/backup/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
GET /api/openstack-instances/{uuid}/ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: fixed_ips
- ReadOnly changed from true to false
POST /api/openstack-instances/{uuid}/update_ports/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: fixed_ips
GET /api/openstack-migrations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: mappings
- Properties changed
- New property: sync_instance_ports
POST /api/openstack-migrations/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: mappings
- Properties changed
- New property: sync_instance_ports
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: mappings
- Properties changed
- New property: sync_instance_ports
GET /api/openstack-migrations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: mappings
- Properties changed
- New property: sync_instance_ports
PATCH /api/openstack-migrations/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: mappings
- Properties changed
- New property: sync_instance_ports
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: mappings
- Properties changed
- New property: sync_instance_ports
PUT /api/openstack-migrations/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: mappings
- Properties changed
- New property: sync_instance_ports
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: mappings
- Properties changed
- New property: sync_instance_ports
GET /api/openstack-networks/
- New query param: can_manage
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [rbac_policies]
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: rbac_policies
GET /api/openstack-networks/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [rbac_policies]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: rbac_policies
PATCH /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: rbac_policies
PUT /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: rbac_policies
GET /api/openstack-security-groups/
- New query param: can_manage
GET /api/openstack-server-groups/
- New query param: can_manage
GET /api/openstack-snapshots/
- New query param: can_manage
GET /api/openstack-subnets/
- New query param: can_manage
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
GET /api/openstack-tenants/
- New query param: can_manage
GET /api/openstack-tenants/{uuid}/backend_instances/
- New query param: can_manage
GET /api/openstack-tenants/{uuid}/backend_volumes/
- New query param: can_manage
POST /api/openstack-tenants/{uuid}/create_network/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: rbac_policies
GET /api/openstack-volumes/
- New query param: can_manage
POST /api/projects/{uuid}/add_user/
- Responses changed
- New response: 201
- Deleted response: 200
POST /api/projects/{uuid}/move_project/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: preserve_permissions
- Properties changed
- New property: preserve_permissions
POST /api/projects/{uuid}/update_user/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
GET /api/promotions-campaigns/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: consumer_reviewed_by
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: consumer_reviewed_by_username
- Nullable changed from false to true
- Modified property: new_plan_name
- Nullable changed from false to true
- Modified property: new_plan_uuid
- Nullable changed from false to true
- Modified property: old_plan_name
- Nullable changed from false to true
- Modified property: old_plan_uuid
- Nullable changed from false to true
- Modified property: provider_reviewed_by
- Nullable changed from false to true
- Modified property: provider_reviewed_by_full_name
- Nullable changed from false to true
- Modified property: provider_reviewed_by_username
- Nullable changed from false to true
POST /api/proposal-proposals/{uuid}/add_user/
- Responses changed
- New response: 201
- Deleted response: 200
POST /api/proposal-proposals/{uuid}/update_user/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/proposal-protected-calls/{uuid}/add_user/
- Responses changed
- New response: 201
- Deleted response: 200
POST /api/proposal-protected-calls/{uuid}/update_user/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
GET /api/rancher-apps/
- New query param: can_manage
GET /api/rancher-catalogs/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: scope_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RancherCatalogScopeType
- Schemas deleted: #/components/schemas/ScopeTypeEnum
POST /api/rancher-catalogs/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: scope_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RancherCatalogScopeType
- Schemas deleted: #/components/schemas/ScopeTypeEnum
GET /api/rancher-catalogs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: scope_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RancherCatalogScopeType
- Schemas deleted: #/components/schemas/ScopeTypeEnum
PATCH /api/rancher-catalogs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: scope_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RancherCatalogScopeType
- Schemas deleted: #/components/schemas/ScopeTypeEnum
PUT /api/rancher-catalogs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: scope_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RancherCatalogScopeType
- Schemas deleted: #/components/schemas/ScopeTypeEnum
POST /api/rancher-catalogs/{uuid}/refresh/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: scope_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RancherCatalogScopeType
- Schemas deleted: #/components/schemas/ScopeTypeEnum
GET /api/rancher-clusters/
- New query param: can_manage
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [node_command]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: node_command
POST /api/rancher-clusters/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: node_command
GET /api/rancher-clusters/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [node_command]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: node_command
PATCH /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: node_command
PUT /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: node_command
POST /api/rancher-clusters/{uuid}/create_management_security_group/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: node_command
GET /api/rancher-clusters/{uuid}/kubeconfig_file/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [node_command]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: node_command
GET /api/rancher-ingresses/
- New query param: can_manage
GET /api/rancher-nodes/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- Deleted required property: get_node_command
- Properties changed
- Deleted property: get_node_command
GET /api/rancher-nodes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: get_node_command
- Properties changed
- Deleted property: get_node_command
GET /api/rancher-services/
- New query param: can_manage
GET /api/rancher-users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: cluster_roles
- Items changed
- Properties changed
- Modified property: role
- Format changed from '' to 'uri'
- Deleted enum values: [owner member]
- Modified property: project_roles
- Items changed
- Properties changed
- Modified property: role
- Format changed from '' to 'uri'
- MaxLength changed from 255 to null
GET /api/rancher-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: cluster_roles
- Items changed
- Properties changed
- Modified property: role
- Format changed from '' to 'uri'
- Deleted enum values: [owner member]
- Modified property: project_roles
- Items changed
- Properties changed
- Modified property: role
- Format changed from '' to 'uri'
- MaxLength changed from 255 to null
GET /api/slurm-allocations/
- New query param: can_manage
GET /api/vmware-disks/
- New query param: can_manage
GET /api/vmware-ports/
- New query param: can_manage
GET /api/vmware-virtual-machine/
- New query param: can_manage
OpenAPI schema diff - 7.5.0
For version 7.5.0
New Endpoints: 2
GET /api/openstack-network-rbac-policies/
GET /api/openstack-network-rbac-policies/{uuid}/
Deleted Endpoints: None
Modified Endpoints: 34
GET /api/customers/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_unallocated_credit]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_unallocated_credit
POST /api/customers/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_unallocated_credit
GET /api/customers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_unallocated_credit]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_unallocated_credit
PATCH /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_unallocated_credit
PUT /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_unallocated_credit
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- Deleted required property: state
POST /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: state
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: state
PATCH /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: state
PUT /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: state
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: state
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: state
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: state
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: state
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: state
GET /api/openstack-networks/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: rbac_policies
- Items changed
- Properties changed
- New property: network_name
- New property: target_tenant_name
- New property: url
GET /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rbac_policies
- Items changed
- Properties changed
- New property: network_name
- New property: target_tenant_name
- New property: url
PATCH /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rbac_policies
- Items changed
- Properties changed
- New property: network_name
- New property: target_tenant_name
- New property: url
PUT /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rbac_policies
- Items changed
- Properties changed
- New property: network_name
- New property: target_tenant_name
- New property: url
POST /api/openstack-networks/{uuid}/rbac_policy_create/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: network_name
- New property: target_tenant_name
- New property: url
POST /api/openstack-tenants/{uuid}/create_network/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rbac_policies
- Items changed
- Properties changed
- New property: network_name
- New property: target_tenant_name
- New property: url
GET /api/proposal-proposals/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: project_name
- Properties changed
- New property: project_name
POST /api/proposal-proposals/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: project_name
- Properties changed
- New property: project_name
GET /api/proposal-proposals/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: project_name
- Properties changed
- New property: project_name
GET /api/proposal-protected-calls/{uuid}/rounds/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: proposals
- Items changed
- Properties changed
- Modified property: reviews
- Items changed
- Required changed
- New required property: proposal_uuid
- Properties changed
- New property: proposal_uuid
POST /api/proposal-protected-calls/{uuid}/rounds/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: proposals
- Items changed
- Properties changed
- Modified property: reviews
- Items changed
- Required changed
- New required property: proposal_uuid
- Properties changed
- New property: proposal_uuid
GET /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: proposals
- Items changed
- Properties changed
- Modified property: reviews
- Items changed
- Required changed
- New required property: proposal_uuid
- Properties changed
- New property: proposal_uuid
PATCH /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: proposals
- Items changed
- Properties changed
- Modified property: reviews
- Items changed
- Required changed
- New required property: proposal_uuid
- Properties changed
- New property: proposal_uuid
PUT /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: proposals
- Items changed
- Properties changed
- Modified property: reviews
- Items changed
- Required changed
- New required property: proposal_uuid
- Properties changed
- New property: proposal_uuid
GET /api/proposal-reviews/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: proposal_uuid
- Properties changed
- New property: proposal_uuid
POST /api/proposal-reviews/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: proposal_uuid
- Properties changed
- New property: proposal_uuid
GET /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: proposal_uuid
- Properties changed
- New property: proposal_uuid
PATCH /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: proposal_uuid
- Properties changed
- New property: proposal_uuid
PUT /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: proposal_uuid
- Properties changed
- New property: proposal_uuid
OpenAPI schema diff - 7.5.1
For version 7.5.1
New Endpoints: 21
GET /api/marketplace-customer-service-accounts/
POST /api/marketplace-customer-service-accounts/
DELETE /api/marketplace-customer-service-accounts/{uuid}/
GET /api/marketplace-customer-service-accounts/{uuid}/
PATCH /api/marketplace-customer-service-accounts/{uuid}/
PUT /api/marketplace-customer-service-accounts/{uuid}/
POST /api/marketplace-customer-service-accounts/{uuid}/rotate_api_key/
GET /api/marketplace-project-service-accounts/
POST /api/marketplace-project-service-accounts/
DELETE /api/marketplace-project-service-accounts/{uuid}/
GET /api/marketplace-project-service-accounts/{uuid}/
PATCH /api/marketplace-project-service-accounts/{uuid}/
PUT /api/marketplace-project-service-accounts/{uuid}/
POST /api/marketplace-project-service-accounts/{uuid}/rotate_api_key/
POST /api/openstack-ports/
PATCH /api/openstack-ports/{uuid}/
PUT /api/openstack-ports/{uuid}/
POST /api/openstack-ports/{uuid}/disable_port/
POST /api/openstack-ports/{uuid}/disable_port_security/
POST /api/openstack-ports/{uuid}/enable_port/
POST /api/openstack-ports/{uuid}/enable_port_security/
Deleted Endpoints: 2
POST /api/openstack-networks/{uuid}/create_port/
GET /api/rancher-clusters/{uuid}/kubeconfig_file/
Modified Endpoints: 43
GET /api/hooks-email/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
POST /api/hooks-email/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
GET /api/hooks-email/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
PATCH /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
PUT /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
GET /api/hooks-web/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
POST /api/hooks-web/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
GET /api/hooks-web/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
PATCH /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
PUT /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_port_updated service_account_created service_account_deleted service_account_updated]
GET /api/keycloak-user-group-memberships/
- New query param: state
GET /api/marketplace-provider-offerings/
- New query param: resource_customer_uuid
- New query param: resource_project_uuid
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: argocd_k8s_kubeconfig
- New property: argocd_k8s_namespace
- New property: keycloak_password
- New property: keycloak_realm
- New property: keycloak_ssl_verify
- New property: keycloak_sync_frequency
- New property: keycloak_url
- New property: keycloak_user_realm
- New property: keycloak_username
- New property: vault_host
- New property: vault_port
- New property: vault_tls_verify
- New property: vault_token
POST /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: argocd_k8s_kubeconfig
- New property: argocd_k8s_namespace
- New property: keycloak_password
- New property: keycloak_realm
- New property: keycloak_ssl_verify
- New property: keycloak_sync_frequency
- New property: keycloak_url
- New property: keycloak_user_realm
- New property: keycloak_username
- New property: vault_host
- New property: vault_port
- New property: vault_tls_verify
- New property: vault_token
GET /api/marketplace-provider-offerings/groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: argocd_k8s_kubeconfig
- New property: argocd_k8s_namespace
- New property: keycloak_password
- New property: keycloak_realm
- New property: keycloak_ssl_verify
- New property: keycloak_sync_frequency
- New property: keycloak_url
- New property: keycloak_user_realm
- New property: keycloak_username
- New property: vault_host
- New property: vault_port
- New property: vault_tls_verify
- New property: vault_token
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: argocd_k8s_kubeconfig
- New property: argocd_k8s_namespace
- New property: keycloak_password
- New property: keycloak_realm
- New property: keycloak_ssl_verify
- New property: keycloak_sync_frequency
- New property: keycloak_url
- New property: keycloak_user_realm
- New property: keycloak_username
- New property: vault_host
- New property: vault_port
- New property: vault_tls_verify
- New property: vault_token
GET /api/marketplace-provider-offerings/{uuid}/component_stats/
- New query param: resource_customer_uuid
- New query param: resource_project_uuid
GET /api/marketplace-provider-offerings/{uuid}/costs/
- New query param: resource_customer_uuid
- New query param: resource_project_uuid
GET /api/marketplace-provider-offerings/{uuid}/customers/
- New query param: resource_customer_uuid
- New query param: resource_project_uuid
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: argocd_k8s_kubeconfig
- New property: argocd_k8s_namespace
- New property: keycloak_password
- New property: keycloak_realm
- New property: keycloak_ssl_verify
- New property: keycloak_sync_frequency
- New property: keycloak_url
- New property: keycloak_user_realm
- New property: keycloak_username
- New property: vault_host
- New property: vault_port
- New property: vault_tls_verify
- New property: vault_token
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: argocd_k8s_kubeconfig
- New property: argocd_k8s_namespace
- New property: keycloak_password
- New property: keycloak_realm
- New property: keycloak_ssl_verify
- New property: keycloak_sync_frequency
- New property: keycloak_url
- New property: keycloak_user_realm
- New property: keycloak_username
- New property: vault_host
- New property: vault_port
- New property: vault_tls_verify
- New property: vault_token
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: argocd_k8s_kubeconfig
- New property: argocd_k8s_namespace
- New property: keycloak_password
- New property: keycloak_realm
- New property: keycloak_ssl_verify
- New property: keycloak_sync_frequency
- New property: keycloak_url
- New property: keycloak_user_realm
- New property: keycloak_username
- New property: vault_host
- New property: vault_port
- New property: vault_tls_verify
- New property: vault_token
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Properties changed
- New property: argocd_k8s_kubeconfig
- New property: argocd_k8s_namespace
- New property: keycloak_password
- New property: keycloak_realm
- New property: keycloak_ssl_verify
- New property: keycloak_sync_frequency
- New property: keycloak_url
- New property: keycloak_user_realm
- New property: keycloak_username
- New property: vault_host
- New property: vault_port
- New property: vault_tls_verify
- New property: vault_token
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: argocd_k8s_kubeconfig
- New property: argocd_k8s_namespace
- New property: keycloak_password
- New property: keycloak_realm
- New property: keycloak_ssl_verify
- New property: keycloak_sync_frequency
- New property: keycloak_url
- New property: keycloak_user_realm
- New property: keycloak_username
- New property: vault_host
- New property: vault_port
- New property: vault_tls_verify
- New property: vault_token
GET /api/marketplace-public-offerings/
- New query param: resource_customer_uuid
- New query param: resource_project_uuid
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- Deleted required property: error_message
- Deleted required property: error_traceback
- Properties changed
- New property: description
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
POST /api/marketplace-robot-accounts/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: description
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
- Modified property: users
- Description changed from '' to 'Users who have access to this robot account.'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: error_message
- Deleted required property: error_traceback
- Properties changed
- New property: description
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
- Modified property: users
- Description changed from '' to 'Users who have access to this robot account.'
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: error_message
- Deleted required property: error_traceback
- Properties changed
- New property: description
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
PATCH /api/marketplace-robot-accounts/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: description
- New property: resource
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
- Modified property: users
- Description changed from '' to 'Users who have access to this robot account.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: error_message
- Deleted required property: error_traceback
- Properties changed
- New property: description
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
- Modified property: users
- Description changed from '' to 'Users who have access to this robot account.'
PUT /api/marketplace-robot-accounts/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: description
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
- Modified property: users
- Description changed from '' to 'Users who have access to this robot account.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: error_message
- Deleted required property: error_traceback
- Properties changed
- New property: description
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
- Modified property: users
- Description changed from '' to 'Users who have access to this robot account.'
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: error_message
- Deleted required property: error_traceback
- Properties changed
- New property: description
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: error_message
- Deleted required property: error_traceback
- Properties changed
- New property: description
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: error_message
- Deleted required property: error_traceback
- Properties changed
- New property: description
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: error_message
- Deleted required property: error_traceback
- Properties changed
- New property: description
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: error_message
- Deleted required property: error_traceback
- Properties changed
- New property: description
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
- Modified property: type
- Description changed from '' to 'Type of the robot account.'
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- New query param: resource_customer_uuid
- New query param: resource_project_uuid
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: argocd_k8s_kubeconfig
- New property: argocd_k8s_namespace
- New property: keycloak_password
- New property: keycloak_realm
- New property: keycloak_ssl_verify
- New property: keycloak_sync_frequency
- New property: keycloak_url
- New property: keycloak_user_realm
- New property: keycloak_username
- New property: vault_host
- New property: vault_port
- New property: vault_tls_verify
- New property: vault_token
GET /api/openstack-ports/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [admin_state_up]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: admin_state_up
- Modified property: allowed_address_pairs
- ReadOnly changed from true to false
- Modified property: port_security_enabled
- ReadOnly changed from true to false
- Modified property: security_groups
- ReadOnly changed from true to false
GET /api/openstack-ports/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [admin_state_up]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: admin_state_up
- Modified property: allowed_address_pairs
- ReadOnly changed from true to false
- Modified property: port_security_enabled
- ReadOnly changed from true to false
- Modified property: security_groups
- ReadOnly changed from true to false
GET /api/rancher-apps/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: external_url
- Nullable changed from false to true
POST /api/rancher-apps/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: external_url
- Nullable changed from false to true
GET /api/rancher-apps/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: external_url
- Nullable changed from false to true
PATCH /api/rancher-apps/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: external_url
- Nullable changed from false to true
PUT /api/rancher-apps/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: external_url
- Nullable changed from false to true
GET /api/rancher-role-templates/
- New query param: name
- New query param: scope_type
- New query param: settings_uuid
OpenAPI schema diff - 7.5.2
For version 7.5.2
New Endpoints: 1
POST /api/openstack-ports/{uuid}/update_port_ip/
Deleted Endpoints: None
Modified Endpoints: 82
GET /api/booking-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/booking-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/customer-permissions-reviews/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: reviewer_full_name
- Nullable changed from false to true
- Modified property: reviewer_uuid
- Nullable changed from false to true
GET /api/customer-permissions-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: reviewer_full_name
- Nullable changed from false to true
- Modified property: reviewer_uuid
- Nullable changed from false to true
GET /api/keycloak-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: scope_name
- Nullable changed from false to true
GET /api/keycloak-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: scope_name
- Nullable changed from false to true
GET /api/marketplace-orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
POST /api/marketplace-orders/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/marketplace-orders/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: base_image_name
- New property: dns_nameservers
POST /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: base_image_name
- New property: dns_nameservers
GET /api/marketplace-provider-offerings/groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: base_image_name
- New property: dns_nameservers
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: base_image_name
- New property: dns_nameservers
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: type_name
- Nullable changed from false to true
- Modified property: type_uuid
- Nullable changed from false to true
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: base_image_name
- New property: dns_nameservers
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: base_image_name
- New property: dns_nameservers
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: base_image_name
- New property: dns_nameservers
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Properties changed
- New property: base_image_name
- New property: dns_nameservers
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: base_image_name
- New property: dns_nameservers
GET /api/marketplace-provider-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/marketplace-provider-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/marketplace-provider-resources/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
POST /api/marketplace-provider-resources/{uuid}/refresh_last_sync/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
POST /api/marketplace-provider-resources/{uuid}/set_as_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/marketplace-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/marketplace-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/marketplace-resources/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: base_image_name
- New property: dns_nameservers
GET /api/marketplace-service-providers/{service_provider_uuid}/project_permissions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: created_by_full_name
- Nullable changed from false to true
- Modified property: created_by_username
- Nullable changed from false to true
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: type_name
- Nullable changed from false to true
- Modified property: type_uuid
- Nullable changed from false to true
GET /api/openstack-backups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
GET /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
PATCH /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
PUT /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
POST /api/openstack-backups/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
GET /api/openstack-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
GET /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
PATCH /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
PUT /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
POST /api/openstack-instances/{uuid}/backup/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
- Modified property: ports
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
GET /api/openstack-instances/{uuid}/floating_ips/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: port_mac_address
- Nullable changed from false to true
GET /api/openstack-instances/{uuid}/ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: subnet_cidr
- Nullable changed from false to true
- Modified property: subnet_description
- Nullable changed from false to true
- Modified property: subnet_name
- Nullable changed from false to true
- Modified property: subnet_uuid
- Nullable changed from false to true
GET /api/projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: type_name
- Nullable changed from false to true
- Modified property: type_uuid
- Nullable changed from false to true
POST /api/projects/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type_name
- Nullable changed from false to true
- Modified property: type_uuid
- Nullable changed from false to true
GET /api/projects/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type_name
- Nullable changed from false to true
- Modified property: type_uuid
- Nullable changed from false to true
PATCH /api/projects/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type_name
- Nullable changed from false to true
- Modified property: type_uuid
- Nullable changed from false to true
PUT /api/projects/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type_name
- Nullable changed from false to true
- Modified property: type_uuid
- Nullable changed from false to true
POST /api/projects/{uuid}/move_project/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type_name
- Nullable changed from false to true
- Modified property: type_uuid
- Nullable changed from false to true
GET /api/promotions-campaigns/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
- Modified property: plan_description
- Nullable changed from false to true
- Modified property: plan_name
- Nullable changed from false to true
- Modified property: plan_unit
- Nullable changed from false to true
- Modified property: plan_uuid
- Nullable changed from false to true
GET /api/proposal-reviews/
- New query param: proposal_name
GET /api/rancher-cluster-templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: nodes
- Items changed
- Required changed
- New required property: role
- Deleted required property: roles
- Properties changed
- New property: role
- Deleted property: roles
GET /api/rancher-cluster-templates/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: nodes
- Items changed
- Required changed
- New required property: role
- Deleted required property: roles
- Properties changed
- New property: role
- Deleted property: roles
GET /api/rancher-clusters/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: nodes
- Items changed
- Properties changed
- New property: role
- Deleted property: controlplane_role
- Deleted property: etcd_role
- Deleted property: worker_role
POST /api/rancher-clusters/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: nodes
- Items changed
- Required changed
- New required property: role
- Deleted required property: roles
- Properties changed
- New property: role
- Deleted property: controlplane_role
- Deleted property: roles
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: nodes
- Items changed
- Properties changed
- New property: role
- Deleted property: controlplane_role
- Deleted property: etcd_role
- Deleted property: worker_role
GET /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: nodes
- Items changed
- Properties changed
- New property: role
- Deleted property: controlplane_role
- Deleted property: etcd_role
- Deleted property: worker_role
PATCH /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: nodes
- Items changed
- Properties changed
- New property: role
- Deleted property: controlplane_role
- Deleted property: etcd_role
- Deleted property: worker_role
PUT /api/rancher-clusters/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: nodes
- Items changed
- Required changed
- New required property: role
- Deleted required property: roles
- Properties changed
- New property: role
- Deleted property: controlplane_role
- Deleted property: roles
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: nodes
- Items changed
- Properties changed
- New property: role
- Deleted property: controlplane_role
- Deleted property: etcd_role
- Deleted property: worker_role
POST /api/rancher-clusters/{uuid}/create_management_security_group/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: nodes
- Items changed
- Required changed
- New required property: role
- Deleted required property: roles
- Properties changed
- New property: role
- Deleted property: controlplane_role
- Deleted property: roles
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: nodes
- Items changed
- Properties changed
- New property: role
- Deleted property: controlplane_role
- Deleted property: etcd_role
- Deleted property: worker_role
GET /api/rancher-nodes/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: role
- Properties changed
- New property: role
- Deleted property: controlplane_role
- Deleted property: etcd_role
- Deleted property: worker_role
POST /api/rancher-nodes/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: role
- Deleted required property: roles
- Properties changed
- New property: role
- Deleted property: roles
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: role
- Properties changed
- New property: role
GET /api/rancher-nodes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: role
- Properties changed
- New property: role
- Deleted property: controlplane_role
- Deleted property: etcd_role
- Deleted property: worker_role
GET /api/rancher-template-versions/{template_uuid}/{version}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Properties changed
- New property: validate_
- Deleted property: validate
- Modified property: subquestions
- Items changed
- Properties changed
- New property: validate_
- Deleted property: validate
GET /api/service-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: customer_name
- Nullable changed from false to true
GET /api/service-settings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer_name
- Nullable changed from false to true
GET /api/slurm-jobs/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: user_username
- Nullable changed from false to true
- Modified property: user_uuid
- Nullable changed from false to true
POST /api/slurm-jobs/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: user_username
- Nullable changed from false to true
- Modified property: user_uuid
- Nullable changed from false to true
GET /api/slurm-jobs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: user_username
- Nullable changed from false to true
- Modified property: user_uuid
- Nullable changed from false to true
PATCH /api/slurm-jobs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: user_username
- Nullable changed from false to true
- Modified property: user_uuid
- Nullable changed from false to true
PUT /api/slurm-jobs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: user_username
- Nullable changed from false to true
- Modified property: user_uuid
- Nullable changed from false to true
GET /api/support-issues/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: assignee_name
- Nullable changed from false to true
- Modified property: assignee_uuid
- Nullable changed from false to true
- Modified property: caller_full_name
- Nullable changed from false to true
- Modified property: caller_uuid
- Nullable changed from false to true
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: reporter_name
- Nullable changed from false to true
- Modified property: reporter_uuid
- Nullable changed from false to true
POST /api/support-issues/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: assignee_name
- Nullable changed from false to true
- Modified property: assignee_uuid
- Nullable changed from false to true
- Modified property: caller_full_name
- Nullable changed from false to true
- Modified property: caller_uuid
- Nullable changed from false to true
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: reporter_name
- Nullable changed from false to true
- Modified property: reporter_uuid
- Nullable changed from false to true
GET /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: assignee_name
- Nullable changed from false to true
- Modified property: assignee_uuid
- Nullable changed from false to true
- Modified property: caller_full_name
- Nullable changed from false to true
- Modified property: caller_uuid
- Nullable changed from false to true
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: reporter_name
- Nullable changed from false to true
- Modified property: reporter_uuid
- Nullable changed from false to true
PATCH /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: assignee_name
- Nullable changed from false to true
- Modified property: assignee_uuid
- Nullable changed from false to true
- Modified property: caller_full_name
- Nullable changed from false to true
- Modified property: caller_uuid
- Nullable changed from false to true
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: reporter_name
- Nullable changed from false to true
- Modified property: reporter_uuid
- Nullable changed from false to true
PUT /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: assignee_name
- Nullable changed from false to true
- Modified property: assignee_uuid
- Nullable changed from false to true
- Modified property: caller_full_name
- Nullable changed from false to true
- Modified property: caller_uuid
- Nullable changed from false to true
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: reporter_name
- Nullable changed from false to true
- Modified property: reporter_uuid
- Nullable changed from false to true
POST /api/support-issues/{uuid}/sync/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: assignee_name
- Nullable changed from false to true
- Modified property: assignee_uuid
- Nullable changed from false to true
- Modified property: caller_full_name
- Nullable changed from false to true
- Modified property: caller_uuid
- Nullable changed from false to true
- Modified property: customer_name
- Nullable changed from false to true
- Modified property: customer_uuid
- Nullable changed from false to true
- Modified property: project_name
- Nullable changed from false to true
- Modified property: project_uuid
- Nullable changed from false to true
- Modified property: reporter_name
- Nullable changed from false to true
- Modified property: reporter_uuid
- Nullable changed from false to true
OpenAPI schema diff - 7.5.3
For version 7.5.3
New Endpoints: None
Deleted Endpoints: None
Modified Endpoints: 188
GET /api/aws-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/aws-instances/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/aws-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/aws-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/aws-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/aws-volumes/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/aws-volumes/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/aws-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/aws-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/aws-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/azure-public-ips/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/azure-public-ips/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/azure-public-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/azure-public-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/azure-public-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/azure-resource-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/azure-resource-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/azure-sql-databases/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/azure-sql-databases/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/azure-sql-databases/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/azure-sql-databases/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/azure-sql-databases/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/azure-sql-servers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/azure-sql-servers/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/azure-sql-servers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/azure-sql-servers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/azure-sql-servers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/azure-virtualmachines/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/azure-virtualmachines/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/azure-virtualmachines/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/azure-virtualmachines/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/azure-virtualmachines/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/booking-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/booking-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/digitalocean-droplets/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/digitalocean-droplets/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/digitalocean-droplets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/digitalocean-droplets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/digitalocean-droplets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/keycloak-user-group-memberships/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: group_scope_name
- Properties changed
- New property: group_scope_name
POST /api/keycloak-user-group-memberships/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: group_scope_name
- Properties changed
- New property: group_scope_name
GET /api/keycloak-user-group-memberships/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: group_scope_name
- Properties changed
- New property: group_scope_name
PATCH /api/keycloak-user-group-memberships/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: group_scope_name
- Properties changed
- New property: group_scope_name
PUT /api/keycloak-user-group-memberships/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: group_scope_name
- Properties changed
- New property: group_scope_name
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
POST /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/marketplace-provider-offerings/groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/marketplace-public-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- New property: managed_rancher_load_balancer_data_volume_size_gb
- New property: managed_rancher_load_balancer_data_volume_type_name
- New property: managed_rancher_load_balancer_flavor_name
- New property: managed_rancher_load_balancer_system_volume_size_gb
- New property: managed_rancher_load_balancer_system_volume_type_name
- New property: managed_rancher_server_data_volume_size_gb
- New property: managed_rancher_server_data_volume_type_name
- New property: managed_rancher_worker_system_volume_size_gb
- New property: managed_rancher_worker_system_volume_type_name
GET /api/openstack-backups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-backups/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
- Modified property: server_group
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OpenStackNestedServerGroup
- Type changed from 'object' to ''
- Nullable changed from false to true
- Properties changed
- Deleted property: name
- Deleted property: policy
- Deleted property: state
- Deleted property: url
GET /api/openstack-floating-ips/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-floating-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
- Modified property: server_group
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OpenStackNestedServerGroup
- Type changed from 'object' to ''
- Nullable changed from false to true
- Properties changed
- Deleted property: name
- Deleted property: policy
- Deleted property: state
- Deleted property: url
GET /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
- Modified property: server_group
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OpenStackNestedServerGroup
- Type changed from 'object' to ''
- Nullable changed from false to true
- Properties changed
- Deleted property: name
- Deleted property: policy
- Deleted property: state
- Deleted property: url
PATCH /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
- Modified property: server_group
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OpenStackNestedServerGroup
- Type changed from 'object' to ''
- Nullable changed from false to true
- Properties changed
- Deleted property: name
- Deleted property: policy
- Deleted property: state
- Deleted property: url
PUT /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
- Modified property: server_group
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OpenStackNestedServerGroup
- Type changed from 'object' to ''
- Nullable changed from false to true
- Properties changed
- Deleted property: name
- Deleted property: policy
- Deleted property: state
- Deleted property: url
POST /api/openstack-instances/{uuid}/backup/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-networks/
- New query param: direct_only
- New query param: rbac_only
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-networks/{uuid}/create_subnet/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-ports/
- New query param: query
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [status]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: status
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-ports/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: status
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-ports/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [status]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: status
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: status
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: status
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-ports/{uuid}/disable_port/
- Request body changed
POST /api/openstack-ports/{uuid}/disable_port_security/
- Request body changed
POST /api/openstack-ports/{uuid}/enable_port/
- Request body changed
POST /api/openstack-ports/{uuid}/enable_port_security/
- Request body changed
GET /api/openstack-routers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-routers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-security-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-security-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-server-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-server-groups/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-server-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/openstack-server-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/openstack-server-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-snapshots/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-snapshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/openstack-snapshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/openstack-snapshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-snapshots/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-subnets/
- New query param: direct_only
- New query param: rbac_only
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-subnets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/openstack-subnets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/openstack-subnets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-tenants/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-tenants/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/create_floating_ip/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/create_network/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/create_security_group/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/create_server_group/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/pull_security_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/pull_server_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-volumes/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/openstack-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/openstack-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/openstack-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/openstack-volumes/{uuid}/snapshot/
- Responses changed
- New response: 201
- Deleted response: 200
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: ENABLE_RESOURCE_END_DATE
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: ENABLE_RESOURCE_END_DATE
GET /api/proposal-proposals/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: supporting_documentation
- Items changed
- Required changed
- New required property: file_size
- Properties changed
- New property: file_size
POST /api/proposal-proposals/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: supporting_documentation
- Items changed
- Required changed
- New required property: file_size
- Properties changed
- New property: file_size
GET /api/proposal-proposals/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: supporting_documentation
- Items changed
- Required changed
- New required property: file_size
- Properties changed
- New property: file_size
GET /api/proposal-protected-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- New property: file_size
POST /api/proposal-protected-calls/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- New property: file_size
GET /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- New property: file_size
PATCH /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- New property: file_size
PUT /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- New property: file_size
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- New property: file_size
GET /api/proposal-public-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- New property: file_size
GET /api/proposal-public-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- New property: file_size
GET /api/rancher-apps/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/rancher-apps/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/rancher-apps/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/rancher-apps/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/rancher-apps/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/rancher-clusters/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [vm_project]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: vm_project
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/rancher-clusters/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: tenant
- Properties changed
- New property: vm_project
- Modified property: nodes
- Items changed
- Properties changed
- New property: tenant
- Modified property: data_volumes
- Items changed
- Properties changed
- New property: filesystem
- Modified property: mount_point
- New enum values: [/opt/rke2_storage]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: vm_project
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/rancher-clusters/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [vm_project]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: vm_project
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/rancher-clusters/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: vm_project
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: vm_project
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/rancher-clusters/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: tenant
- Properties changed
- New property: vm_project
- Modified property: nodes
- Items changed
- Properties changed
- New property: tenant
- Modified property: data_volumes
- Items changed
- Properties changed
- New property: filesystem
- Modified property: mount_point
- New enum values: [/opt/rke2_storage]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: vm_project
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/rancher-clusters/{uuid}/create_management_security_group/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: tenant
- Properties changed
- New property: vm_project
- Modified property: nodes
- Items changed
- Properties changed
- New property: tenant
- Modified property: data_volumes
- Items changed
- Properties changed
- New property: filesystem
- Modified property: mount_point
- New enum values: [/opt/rke2_storage]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: vm_project
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/rancher-ingresses/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/rancher-ingresses/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/rancher-ingresses/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/rancher-ingresses/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/rancher-ingresses/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/rancher-ingresses/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/rancher-ingresses/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/rancher-nodes/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: tenant
- Modified property: data_volumes
- Items changed
- Properties changed
- New property: filesystem
- Modified property: mount_point
- New enum values: [/opt/rke2_storage]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: uuid
- Properties changed
- New property: uuid
GET /api/rancher-services/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/rancher-services/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/rancher-services/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/rancher-services/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/rancher-services/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/rancher-services/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/rancher-services/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/slurm-allocations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/slurm-allocations/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/slurm-allocations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/slurm-allocations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/slurm-allocations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/support-issues/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: feedback
- Nullable changed from false to true
POST /api/support-issues/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: feedback
- Nullable changed from false to true
GET /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: feedback
- Nullable changed from false to true
PATCH /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: feedback
- Nullable changed from false to true
PUT /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: feedback
- Nullable changed from false to true
POST /api/support-issues/{uuid}/sync/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: feedback
- Nullable changed from false to true
GET /api/vmware-disks/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/vmware-disks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/vmware-ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/vmware-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/vmware-virtual-machine/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/vmware-virtual-machine/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
GET /api/vmware-virtual-machine/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PATCH /api/vmware-virtual-machine/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
PUT /api/vmware-virtual-machine/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/vmware-virtual-machine/{uuid}/create_disk/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
POST /api/vmware-virtual-machine/{uuid}/create_port/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_limit_based
- Nullable changed from false to true
- Modified property: is_usage_based
- Nullable changed from false to true
- Modified property: marketplace_category_uuid
- Nullable changed from false to true
- Modified property: marketplace_offering_name
- Nullable changed from false to true
- Modified property: marketplace_offering_plugin_options
- Nullable changed from false to true
- Modified property: marketplace_offering_uuid
- Nullable changed from false to true
- Modified property: marketplace_plan_uuid
- Nullable changed from false to true
- Modified property: marketplace_resource_state
- Nullable changed from false to true
- Modified property: marketplace_resource_uuid
- Nullable changed from false to true
OpenAPI schema diff - 7.5.4
For version 7.5.4
New Endpoints: None
Deleted Endpoints: None
Modified Endpoints: 14
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: node_disk_driver
POST /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: node_disk_driver
GET /api/marketplace-provider-offerings/groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: node_disk_driver
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: node_disk_driver
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: node_disk_driver
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: node_disk_driver
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: node_disk_driver
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Properties changed
- New property: node_disk_driver
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: node_disk_driver
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: node_disk_driver
GET /api/openstack-migrations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: error_message
- New property: error_traceback
GET /api/openstack-migrations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: error_message
- New property: error_traceback
PATCH /api/openstack-migrations/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: error_message
- New property: error_traceback
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: error_message
- New property: error_traceback
PUT /api/openstack-migrations/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: error_message
- New property: error_traceback
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: error_message
- New property: error_traceback
OpenAPI schema diff - 7.5.5
For version 7.5.5
New Endpoints: 7
POST /api/openstack-routers/{uuid}/add_router_interface/
POST /api/openstack-routers/{uuid}/remove_router_interface/
GET /api/projects/{uuid}/other_users/
GET /api/rancher-cluster-security-groups/
GET /api/rancher-cluster-security-groups/{uuid}/
PATCH /api/rancher-cluster-security-groups/{uuid}/
PUT /api/rancher-cluster-security-groups/{uuid}/
Deleted Endpoints: None
Modified Endpoints: 40
GET /api/booking-resources/
- New query param: has_terminate_date
PATCH /api/invoice-items/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: unit_price
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: unit_price
PUT /api/invoice-items/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: unit_price
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: unit_price
GET /api/marketplace-component-user-usages/
- New query param: billing_period_month
- New query param: billing_period_year
- New query param: o
- New query param: username
GET /api/marketplace-customer-service-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: customer_name
- New required property: customer_uuid
- Properties changed
- New property: customer_name
- New property: customer_uuid
POST /api/marketplace-customer-service-accounts/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_name
- New required property: customer_uuid
- Properties changed
- New property: customer_name
- New property: customer_uuid
GET /api/marketplace-customer-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_name
- New required property: customer_uuid
- Properties changed
- New property: customer_name
- New property: customer_uuid
PATCH /api/marketplace-customer-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_name
- New required property: customer_uuid
- Properties changed
- New property: customer_name
- New property: customer_uuid
PUT /api/marketplace-customer-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_name
- New required property: customer_uuid
- Properties changed
- New property: customer_name
- New property: customer_uuid
POST /api/marketplace-customer-service-accounts/{uuid}/rotate_api_key/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_name
- New required property: customer_uuid
- Properties changed
- New property: customer_name
- New property: customer_uuid
GET /api/marketplace-project-service-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: customer_abbreviation
- New required property: customer_name
- New required property: customer_uuid
- New required property: project_name
- New required property: project_uuid
- Properties changed
- New property: customer_abbreviation
- New property: customer_name
- New property: customer_uuid
- New property: project_name
- New property: project_uuid
POST /api/marketplace-project-service-accounts/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_abbreviation
- New required property: customer_name
- New required property: customer_uuid
- New required property: project_name
- New required property: project_uuid
- Properties changed
- New property: customer_abbreviation
- New property: customer_name
- New property: customer_uuid
- New property: project_name
- New property: project_uuid
GET /api/marketplace-project-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_abbreviation
- New required property: customer_name
- New required property: customer_uuid
- New required property: project_name
- New required property: project_uuid
- Properties changed
- New property: customer_abbreviation
- New property: customer_name
- New property: customer_uuid
- New property: project_name
- New property: project_uuid
PATCH /api/marketplace-project-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_abbreviation
- New required property: customer_name
- New required property: customer_uuid
- New required property: project_name
- New required property: project_uuid
- Properties changed
- New property: customer_abbreviation
- New property: customer_name
- New property: customer_uuid
- New property: project_name
- New property: project_uuid
PUT /api/marketplace-project-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_abbreviation
- New required property: customer_name
- New required property: customer_uuid
- New required property: project_name
- New required property: project_uuid
- Properties changed
- New property: customer_abbreviation
- New property: customer_name
- New property: customer_uuid
- New property: project_name
- New property: project_uuid
POST /api/marketplace-project-service-accounts/{uuid}/rotate_api_key/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_abbreviation
- New required property: customer_name
- New required property: customer_uuid
- New required property: project_name
- New required property: project_uuid
- Properties changed
- New property: customer_abbreviation
- New property: customer_name
- New property: customer_uuid
- New property: project_name
- New property: project_uuid
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: k8s_version
- New property: private_registry_password
- New property: private_registry_url
- New property: private_registry_user
POST /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: k8s_version
- New property: private_registry_password
- New property: private_registry_url
- New property: private_registry_user
GET /api/marketplace-provider-offerings/groups/
- OperationID changed from 'marketplace_provider_offerings_groups_retrieve' to 'marketplace_provider_offerings_groups_list'
- New query param: accessible_via_calls
- New query param: allowed_customer_uuid
- New query param: attributes
- New query param: billable
- New query param: category_group_uuid
- New query param: category_uuid
- New query param: created
- New query param: customer
- New query param: customer_uuid
- New query param: description
- New query param: keyword
- New query param: modified
- New query param: name
- New query param: name_exact
- New query param: o
- New query param: organization_group_uuid
- New query param: page
- New query param: page_size
- New query param: parent_uuid
- New query param: project_uuid
- New query param: resource_customer_uuid
- New query param: resource_project_uuid
- New query param: scope_uuid
- New query param: service_manager_uuid
- New query param: shared
- New query param: state
- New query param: type
- Deleted query param: field
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Type changed from 'object' to 'array'
- Items changed
- Schema added
- Properties changed
- Deleted property: access_url
- Deleted property: attributes
- Deleted property: backend_id
- Deleted property: backend_metadata
- Deleted property: billable
- Deleted property: category
- Deleted property: category_title
- Deleted property: category_uuid
- Deleted property: citation_count
- Deleted property: components
- Deleted property: country
- Deleted property: created
- Deleted property: customer
- Deleted property: customer_name
- Deleted property: customer_uuid
- Deleted property: datacite_doi
- Deleted property: description
- Deleted property: endpoints
- Deleted property: files
- Deleted property: full_description
- Deleted property: getting_started
- Deleted property: google_calendar_is_public
- Deleted property: google_calendar_link
- Deleted property: image
- Deleted property: integration_guide
- Deleted property: integration_status
- Deleted property: latitude
- Deleted property: longitude
- Deleted property: name
- Deleted property: options
- Deleted property: order_count
- Deleted property: organization_groups
- Deleted property: parent_description
- Deleted property: parent_name
- Deleted property: parent_uuid
- Deleted property: paused_reason
- Deleted property: plans
- Deleted property: plugin_options
- Deleted property: privacy_policy_link
- Deleted property: project
- Deleted property: project_name
- Deleted property: project_uuid
- Deleted property: quotas
- Deleted property: resource_options
- Deleted property: roles
- Deleted property: scope
- Deleted property: scope_error_message
- Deleted property: scope_name
- Deleted property: scope_state
- Deleted property: scope_uuid
- Deleted property: screenshots
- Deleted property: secret_options
- Deleted property: service_attributes
- Deleted property: shared
- Deleted property: slug
- Deleted property: state
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
- Deleted property: thumbnail
- Deleted property: total_cost
- Deleted property: total_cost_estimated
- Deleted property: total_customers
- Deleted property: type
- Deleted property: url
- Deleted property: uuid
- Deleted property: vendor_details
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: k8s_version
- New property: private_registry_password
- New property: private_registry_url
- New property: private_registry_user
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: k8s_version
- New property: private_registry_password
- New property: private_registry_url
- New property: private_registry_user
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: k8s_version
- New property: private_registry_password
- New property: private_registry_url
- New property: private_registry_user
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: k8s_version
- New property: private_registry_password
- New property: private_registry_url
- New property: private_registry_user
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Properties changed
- New property: k8s_version
- New property: private_registry_password
- New property: private_registry_url
- New property: private_registry_user
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: k8s_version
- New property: private_registry_password
- New property: private_registry_url
- New property: private_registry_user
GET /api/marketplace-provider-resources/
- New query param: has_terminate_date
GET /api/marketplace-resources/
- New query param: has_terminate_date
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: k8s_version
- New property: private_registry_password
- New property: private_registry_url
- New property: private_registry_user
POST /api/openstack-backups/{uuid}/restore/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: port
POST /api/openstack-instances/{uuid}/update_ports/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: port
GET /api/openstack-ports/
- New query param: admin_state_up
- New query param: backend_id
- New query param: device_id
- New query param: device_owner
- New query param: has_device_owner
- New query param: mac_address
- New query param: status
- Modified query param: query
- Description changed from '' to 'Query'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: admin_state_up
- Type changed from 'string' to 'boolean'
POST /api/openstack-ports/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: admin_state_up
- Type changed from 'string' to 'boolean'
GET /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: admin_state_up
- Type changed from 'string' to 'boolean'
PATCH /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: admin_state_up
- Type changed from 'string' to 'boolean'
PUT /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: admin_state_up
- Type changed from 'string' to 'boolean'
POST /api/rancher-clusters/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: nodes
- Items changed
- Properties changed
- Modified property: data_volumes
- Items changed
- Required changed
- New required property: mount_point
- Properties changed
- Modified property: mount_point
- Deleted enum values: [/var/lib/docker /var/lib/etcd /opt/media01 /opt/rke2_storage]
- MinLength changed from 0 to 1
PUT /api/rancher-clusters/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: nodes
- Items changed
- Properties changed
- Modified property: data_volumes
- Items changed
- Required changed
- New required property: mount_point
- Properties changed
- Modified property: mount_point
- Deleted enum values: [/var/lib/docker /var/lib/etcd /opt/media01 /opt/rke2_storage]
- MinLength changed from 0 to 1
POST /api/rancher-clusters/{uuid}/create_management_security_group/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: nodes
- Items changed
- Properties changed
- Modified property: data_volumes
- Items changed
- Required changed
- New required property: mount_point
- Properties changed
- Modified property: mount_point
- Deleted enum values: [/var/lib/docker /var/lib/etcd /opt/media01 /opt/rke2_storage]
- MinLength changed from 0 to 1
POST /api/rancher-nodes/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: data_volumes
- Items changed
- Required changed
- New required property: mount_point
- Properties changed
- Modified property: mount_point
- Deleted enum values: [/var/lib/docker /var/lib/etcd /opt/media01 /opt/rke2_storage]
- MinLength changed from 0 to 1
GET /api/rancher-role-templates/
- New query param: o
OpenAPI schema diff - 7.5.6
For version 7.5.6
New Endpoints: 2
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
Deleted Endpoints: None
Modified Endpoints: 17
GET /api/marketplace-component-usages/
- New query param: o
GET /api/openstack-backups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- New property: url
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: url
GET /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- New property: url
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: url
PATCH /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- New property: url
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: url
PUT /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- New property: url
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: url
POST /api/openstack-backups/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: url
GET /api/openstack-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: url
GET /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: url
PATCH /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: url
PUT /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: url
POST /api/openstack-instances/{uuid}/backup/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- New property: url
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: url
GET /api/openstack-instances/{uuid}/ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: url
GET /api/openstack-ports/
- New query param: exclude_subnet_uuids
GET /api/openstack-routers/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [ports]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: ports
GET /api/openstack-routers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [ports]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ports
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: RANCHER_USERNAME_INPUT_LABEL
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: RANCHER_USERNAME_INPUT_LABEL
OpenAPI schema diff - 7.5.7
For version 7.5.7
New Endpoints: 2
POST /api/openstack-routers/
DELETE /api/openstack-routers/{uuid}/
Deleted Endpoints: None
Modified Endpoints: None
OpenAPI schema diff - 7.5.8
For version 7.5.8
New Endpoints: None
Deleted Endpoints: None
Modified Endpoints: 6
GET /api/rancher-clusters/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [public_ips]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: public_ips
POST /api/rancher-clusters/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: public_ips
GET /api/rancher-clusters/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [public_ips]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: public_ips
PATCH /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: public_ips
PUT /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: public_ips
POST /api/rancher-clusters/{uuid}/create_management_security_group/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: public_ips
OpenAPI schema diff - 7.5.9
For version 7.5.9
New Endpoints: None
Deleted Endpoints: None
Modified Endpoints: 160
GET /api/aws-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/aws-instances/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/aws-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/aws-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/aws-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/aws-volumes/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/aws-volumes/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/aws-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/aws-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/aws-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/azure-public-ips/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/azure-public-ips/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/azure-public-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/azure-public-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/azure-public-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/azure-resource-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/azure-resource-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/azure-sql-databases/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/azure-sql-databases/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/azure-sql-databases/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/azure-sql-databases/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/azure-sql-databases/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/azure-sql-servers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/azure-sql-servers/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/azure-sql-servers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/azure-sql-servers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/azure-sql-servers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/azure-virtualmachines/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/azure-virtualmachines/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/azure-virtualmachines/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/azure-virtualmachines/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/azure-virtualmachines/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/digitalocean-droplets/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/digitalocean-droplets/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/digitalocean-droplets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/digitalocean-droplets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/digitalocean-droplets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/hooks-email/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
POST /api/hooks-email/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
GET /api/hooks-email/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
PATCH /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
PUT /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
GET /api/hooks-web/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
POST /api/hooks-web/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
GET /api/hooks-web/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
PATCH /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
PUT /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [offering_accounting]
GET /api/invoices/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: customer_details
- Properties changed
- Modified property: country_name
- Nullable changed from false to true
- Modified property: issuer_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/CustomerDetails
- Properties changed
- Modified property: country_name
- Nullable changed from false to true
GET /api/invoices/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer_details
- Properties changed
- Modified property: country_name
- Nullable changed from false to true
- Modified property: issuer_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/CustomerDetails
- Properties changed
- Modified property: country_name
- Nullable changed from false to true
POST /api/invoices/{uuid}/paid/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer_details
- Properties changed
- Modified property: country_name
- Nullable changed from false to true
- Modified property: issuer_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/CustomerDetails
- Properties changed
- Modified property: country_name
- Nullable changed from false to true
GET /api/marketplace-customer-service-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: expires_at
- Deleted required property: expiresAt
- Properties changed
- New property: expires_at
- New property: preferred_identifier
- Deleted property: expiresAt
POST /api/marketplace-customer-service-accounts/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: preferred_identifier
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: expires_at
- Deleted required property: expiresAt
- Properties changed
- New property: expires_at
- New property: preferred_identifier
- Deleted property: expiresAt
GET /api/marketplace-customer-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: expires_at
- Deleted required property: expiresAt
- Properties changed
- New property: expires_at
- New property: preferred_identifier
- Deleted property: expiresAt
PATCH /api/marketplace-customer-service-accounts/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: preferred_identifier
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: expires_at
- Deleted required property: expiresAt
- Properties changed
- New property: expires_at
- New property: preferred_identifier
- Deleted property: expiresAt
PUT /api/marketplace-customer-service-accounts/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: preferred_identifier
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: expires_at
- Deleted required property: expiresAt
- Properties changed
- New property: expires_at
- New property: preferred_identifier
- Deleted property: expiresAt
POST /api/marketplace-customer-service-accounts/{uuid}/rotate_api_key/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: expires_at
- Deleted required property: expiresAt
- Properties changed
- New property: expires_at
- New property: preferred_identifier
- Deleted property: expiresAt
GET /api/marketplace-project-service-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: expires_at
- Deleted required property: expiresAt
- Properties changed
- New property: expires_at
- New property: preferred_identifier
- Deleted property: expiresAt
POST /api/marketplace-project-service-accounts/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: preferred_identifier
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: expires_at
- Deleted required property: expiresAt
- Properties changed
- New property: expires_at
- New property: preferred_identifier
- Deleted property: expiresAt
GET /api/marketplace-project-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: expires_at
- Deleted required property: expiresAt
- Properties changed
- New property: expires_at
- New property: preferred_identifier
- Deleted property: expiresAt
PATCH /api/marketplace-project-service-accounts/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: preferred_identifier
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: expires_at
- Deleted required property: expiresAt
- Properties changed
- New property: expires_at
- New property: preferred_identifier
- Deleted property: expiresAt
PUT /api/marketplace-project-service-accounts/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: preferred_identifier
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: expires_at
- Deleted required property: expiresAt
- Properties changed
- New property: expires_at
- New property: preferred_identifier
- Deleted property: expiresAt
POST /api/marketplace-project-service-accounts/{uuid}/rotate_api_key/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: expires_at
- Deleted required property: expiresAt
- Properties changed
- New property: expires_at
- New property: preferred_identifier
- Deleted property: expiresAt
GET /api/openstack-backups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-backups/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
- Modified property: rancher_cluster
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RancherClusterReference
- Properties changed
- Modified property: marketplace_uuid
- Nullable changed from false to true
GET /api/openstack-floating-ips/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-floating-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
- Modified property: rancher_cluster
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RancherClusterReference
- Properties changed
- Modified property: marketplace_uuid
- Nullable changed from false to true
GET /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
- Modified property: rancher_cluster
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RancherClusterReference
- Properties changed
- Modified property: marketplace_uuid
- Nullable changed from false to true
PATCH /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
- Modified property: rancher_cluster
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RancherClusterReference
- Properties changed
- Modified property: marketplace_uuid
- Nullable changed from false to true
PUT /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
- Modified property: rancher_cluster
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RancherClusterReference
- Properties changed
- Modified property: marketplace_uuid
- Nullable changed from false to true
POST /api/openstack-instances/{uuid}/backup/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-networks/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-networks/{uuid}/create_subnet/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-ports/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-routers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-routers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-security-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-security-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-server-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-server-groups/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-server-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/openstack-server-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/openstack-server-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-snapshots/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-snapshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/openstack-snapshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/openstack-snapshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-snapshots/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: extend_enabled
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-subnets/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-subnets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/openstack-subnets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/openstack-subnets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-tenants/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-tenants/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/create_floating_ip/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/create_network/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/create_security_group/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/create_server_group/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/pull_security_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-tenants/{uuid}/pull_server_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-volumes/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [extend_enabled]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: extend_enabled
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/openstack-volumes/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [extend_enabled]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: extend_enabled
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/openstack-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: extend_enabled
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/openstack-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: extend_enabled
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/openstack-volumes/{uuid}/snapshot/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/rancher-apps/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/rancher-apps/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/rancher-apps/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/rancher-apps/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/rancher-apps/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/rancher-cluster-security-groups/
- New query param: cluster_uuid
GET /api/rancher-clusters/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/rancher-clusters/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/rancher-clusters/{uuid}/create_management_security_group/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/rancher-ingresses/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/rancher-ingresses/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/rancher-ingresses/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/rancher-ingresses/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/rancher-ingresses/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/rancher-ingresses/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/rancher-ingresses/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/rancher-services/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/rancher-services/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/rancher-services/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/rancher-services/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/rancher-services/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/rancher-services/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/rancher-services/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/slurm-allocations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/slurm-allocations/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/slurm-allocations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/slurm-allocations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/slurm-allocations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/vmware-disks/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/vmware-disks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/vmware-ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/vmware-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/vmware-virtual-machine/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/vmware-virtual-machine/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
GET /api/vmware-virtual-machine/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PATCH /api/vmware-virtual-machine/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
PUT /api/vmware-virtual-machine/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/vmware-virtual-machine/{uuid}/create_disk/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
POST /api/vmware-virtual-machine/{uuid}/create_port/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: marketplace_category_name
- Nullable changed from false to true
OpenAPI schema diff - 7.6.0
For version 7.6.0
New Endpoints: 3
GET /api/customer-credits/{uuid}/consumptions/
GET /api/invoice-items/{uuid}/consumptions/
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
Deleted Endpoints: None
Modified Endpoints: 24
GET /api/booking-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [service_settings_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
GET /api/booking-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [service_settings_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
GET /api/marketplace-provider-offerings/{uuid}/list_customer_users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: notifications_enabled
GET /api/marketplace-provider-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [service_settings_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
GET /api/marketplace-provider-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [service_settings_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
GET /api/marketplace-provider-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [service_settings_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
POST /api/marketplace-provider-resources/{uuid}/refresh_last_sync/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
POST /api/marketplace-provider-resources/{uuid}/set_as_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
GET /api/marketplace-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [service_settings_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
GET /api/marketplace-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [service_settings_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
GET /api/marketplace-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [service_settings_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: CALL_MANAGEMENT_HERO_IMAGE
- New property: MARKETPLACE_HERO_IMAGE
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: CALL_MANAGEMENT_HERO_IMAGE
- New property: MARKETPLACE_HERO_IMAGE
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: service_settings_uuid
- Modified property: limit_usage
- Type changed from 'number' to 'object'
- Format changed from 'double' to ''
- Nullable changed from true to false
- AdditionalProperties changed
- Schema added
GET /api/users/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [notifications_enabled]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: notifications_enabled
POST /api/users/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notifications_enabled
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notifications_enabled
GET /api/users/me/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [notifications_enabled]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notifications_enabled
GET /api/users/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [notifications_enabled]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notifications_enabled
PATCH /api/users/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notifications_enabled
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notifications_enabled
PUT /api/users/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notifications_enabled
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notifications_enabled
OpenAPI schema diff - 7.6.1
For version 7.6.1
No changes
OpenAPI schema diff - 7.6.2
For version 7.6.2
New Endpoints: 7
POST /api/openstack-ports/{uuid}/update_security_groups/
GET /api/proposal-protected-calls/{uuid}/resource_templates/
POST /api/proposal-protected-calls/{uuid}/resource_templates/
DELETE /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
GET /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
PATCH /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
PUT /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
Deleted Endpoints: None
Modified Endpoints: 51
GET /api/customers/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [max_service_accounts]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: max_service_accounts
POST /api/customers/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: max_service_accounts
GET /api/customers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [max_service_accounts]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: max_service_accounts
PATCH /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: max_service_accounts
PUT /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: max_service_accounts
POST /api/marketplace-component-usages/set_usage/
- Responses changed
- New response: 201
- Deleted response: 200
POST /api/marketplace-component-usages/{uuid}/set_user_usage/
- Responses changed
- New response: 201
- Deleted response: 200
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: max_service_accounts
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [max_service_accounts]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: max_service_accounts
GET /api/openstack-backups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- New property: security_groups
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: security_groups
GET /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- New property: security_groups
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: security_groups
PATCH /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- New property: security_groups
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: security_groups
PUT /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- New property: security_groups
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: security_groups
POST /api/openstack-backups/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: security_groups
GET /api/openstack-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: security_groups
GET /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: security_groups
PATCH /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: security_groups
PUT /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: security_groups
POST /api/openstack-instances/{uuid}/backup/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_ports
- Items changed
- Properties changed
- New property: security_groups
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: security_groups
GET /api/openstack-instances/{uuid}/ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: security_groups
GET /api/openstack-ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: url
POST /api/openstack-ports/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: url
GET /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: url
PATCH /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: url
PUT /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: url
GET /api/openstack-routers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: security_groups
GET /api/openstack-routers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: security_groups
POST /api/openstack-tenants/{uuid}/create_security_group/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: rules
- Properties changed
- Deleted property: rules
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ENABLE_MOCK_SERVICE_ACCOUNT_BACKEND
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ENABLE_MOCK_SERVICE_ACCOUNT_BACKEND
GET /api/projects/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [max_service_accounts]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: max_service_accounts
POST /api/projects/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: max_service_accounts
GET /api/projects/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [max_service_accounts]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: max_service_accounts
PATCH /api/projects/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: max_service_accounts
PUT /api/projects/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: max_service_accounts
POST /api/projects/{uuid}/move_project/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: max_service_accounts
GET /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: call_resource_template
- New required property: call_resource_template_name
- Properties changed
- New property: call_resource_template
- New property: call_resource_template_name
POST /api/proposal-proposals/{uuid}/resources/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: requested_offering_uuid
- Properties changed
- New property: call_resource_template_uuid
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_resource_template
- New required property: call_resource_template_name
- Properties changed
- New property: call_resource_template
- New property: call_resource_template_name
GET /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_resource_template
- New required property: call_resource_template_name
- Properties changed
- New property: call_resource_template
- New property: call_resource_template_name
PATCH /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: call_resource_template_uuid
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_resource_template
- New required property: call_resource_template_name
- Properties changed
- New property: call_resource_template
- New property: call_resource_template_name
PUT /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: requested_offering_uuid
- Properties changed
- New property: call_resource_template_uuid
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_resource_template
- New required property: call_resource_template_name
- Properties changed
- New property: call_resource_template
- New property: call_resource_template_name
GET /api/proposal-protected-calls/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [fixed_duration_in_days resource_templates]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: fixed_duration_in_days
- New property: resource_templates
POST /api/proposal-protected-calls/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: fixed_duration_in_days
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: fixed_duration_in_days
- New property: resource_templates
GET /api/proposal-protected-calls/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [fixed_duration_in_days resource_templates]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: fixed_duration_in_days
- New property: resource_templates
PATCH /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: fixed_duration_in_days
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: fixed_duration_in_days
- New property: resource_templates
PUT /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: fixed_duration_in_days
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: fixed_duration_in_days
- New property: resource_templates
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: fixed_duration_in_days
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: fixed_duration_in_days
- New property: resource_templates
GET /api/proposal-public-calls/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [fixed_duration_in_days resource_templates]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: fixed_duration_in_days
- New property: resource_templates
GET /api/proposal-public-calls/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [fixed_duration_in_days resource_templates]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: fixed_duration_in_days
- New property: resource_templates
GET /api/proposal-requested-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: call_resource_template
- New required property: call_resource_template_name
- Properties changed
- New property: call_resource_template
- New property: call_resource_template_name
GET /api/proposal-requested-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_resource_template
- New required property: call_resource_template_name
- Properties changed
- New property: call_resource_template
- New property: call_resource_template_name
OpenAPI schema diff - 7.6.3
For version 7.6.3
No changes
OpenAPI schema diff - 7.6.4
For version 7.6.4
New Endpoints: None
Deleted Endpoints: 1
POST /api/openstack-migrations/{uuid}/run/
Modified Endpoints: 42
GET /api/booking-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_slug project_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_slug
- New property: project_slug
GET /api/booking-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_slug project_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_slug
- New property: project_slug
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_slug
- New property: project_slug
GET /api/marketplace-provider-offerings/{uuid}/list_customer_users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: token_expires_at
GET /api/marketplace-provider-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_slug project_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_slug
- New property: project_slug
GET /api/marketplace-provider-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_slug project_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_slug
- New property: project_slug
GET /api/marketplace-provider-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_slug project_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_slug
- New property: project_slug
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_slug
- New property: project_slug
POST /api/marketplace-provider-resources/{uuid}/refresh_last_sync/
- Description changed from '' to 'Refresh the last sync time for a resource.'
- Request body changed
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-resources/{uuid}/set_as_ok/
- Description changed from '' to 'Set the resource as OK.'
- Request body changed
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_slug
- New property: project_slug
GET /api/marketplace-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_slug project_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_slug
- New property: project_slug
GET /api/marketplace-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_slug project_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_slug
- New property: project_slug
GET /api/marketplace-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_slug project_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_slug
- New property: project_slug
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_slug
- New property: project_slug
POST /api/openstack-tenants/{uuid}/create_security_group/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: rules
- Properties changed
- New property: rules
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_slug
- New property: project_slug
GET /api/proposal-protected-calls/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [reviewer_identity_visible_to_submitters reviews_visible_to_submitters]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: reviewer_identity_visible_to_submitters
- New property: reviews_visible_to_submitters
POST /api/proposal-protected-calls/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: reviewer_identity_visible_to_submitters
- New property: reviews_visible_to_submitters
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: reviewer_identity_visible_to_submitters
- New property: reviews_visible_to_submitters
GET /api/proposal-protected-calls/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [reviewer_identity_visible_to_submitters reviews_visible_to_submitters]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: reviewer_identity_visible_to_submitters
- New property: reviews_visible_to_submitters
PATCH /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: reviewer_identity_visible_to_submitters
- New property: reviews_visible_to_submitters
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: reviewer_identity_visible_to_submitters
- New property: reviews_visible_to_submitters
PUT /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: reviewer_identity_visible_to_submitters
- New property: reviews_visible_to_submitters
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: reviewer_identity_visible_to_submitters
- New property: reviews_visible_to_submitters
GET /api/proposal-protected-calls/{uuid}/rounds/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: proposals
- Items changed
- Properties changed
- Modified property: reviews
- Description changed from '' to 'Return serialized reviews based on user permissions and visibility settings.
- Staff, call managers, and reviewers see all reviews.
- Submitters see submitted reviews if visibility is enabled.' - Items changed - Type changed from 'object' to '' - Required changed - Deleted required property: call_name - Deleted required property: call_uuid - Deleted required property: proposal - Deleted required property: proposal_name - Deleted required property: proposal_uuid - Deleted required property: review_end_date - Deleted required property: reviewer - Deleted required property: reviewer_full_name - Deleted required property: reviewer_uuid - Deleted required property: round_cutoff_time - Deleted required property: round_name - Deleted required property: round_start_time - Deleted required property: round_uuid - Deleted required property: state - Deleted required property: url - Deleted required property: uuid - Properties changed - Deleted property: call_name - Deleted property: call_uuid - Deleted property: comment_project_description - Deleted property: comment_project_duration - Deleted property: comment_project_has_civilian_purpose - Deleted property: comment_project_is_confidential - Deleted property: comment_project_summary - Deleted property: comment_project_supporting_documentation - Deleted property: comment_project_title - Deleted property: comment_resource_requests - Deleted property: comment_team - Deleted property: proposal - Deleted property: proposal_name - Deleted property: proposal_uuid - Deleted property: review_end_date - Deleted property: reviewer - Deleted property: reviewer_full_name - Deleted property: reviewer_uuid - Deleted property: round_cutoff_time - Deleted property: round_name - Deleted property: round_start_time - Deleted property: round_uuid - Deleted property: state - Deleted property: summary_private_comment - Deleted property: summary_public_comment - Deleted property: summary_score - Deleted property: url - Deleted property: uuid
POST /api/proposal-protected-calls/{uuid}/rounds/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: proposals
- Items changed
- Properties changed
- Modified property: reviews
- Description changed from '' to 'Return serialized reviews based on user permissions and visibility settings.
- Staff, call managers, and reviewers see all reviews.
- Submitters see submitted reviews if visibility is enabled.' - Items changed - Type changed from 'object' to '' - Required changed - Deleted required property: call_name - Deleted required property: call_uuid - Deleted required property: proposal - Deleted required property: proposal_name - Deleted required property: proposal_uuid - Deleted required property: review_end_date - Deleted required property: reviewer - Deleted required property: reviewer_full_name - Deleted required property: reviewer_uuid - Deleted required property: round_cutoff_time - Deleted required property: round_name - Deleted required property: round_start_time - Deleted required property: round_uuid - Deleted required property: state - Deleted required property: url - Deleted required property: uuid - Properties changed - Deleted property: call_name - Deleted property: call_uuid - Deleted property: comment_project_description - Deleted property: comment_project_duration - Deleted property: comment_project_has_civilian_purpose - Deleted property: comment_project_is_confidential - Deleted property: comment_project_summary - Deleted property: comment_project_supporting_documentation - Deleted property: comment_project_title - Deleted property: comment_resource_requests - Deleted property: comment_team - Deleted property: proposal - Deleted property: proposal_name - Deleted property: proposal_uuid - Deleted property: review_end_date - Deleted property: reviewer - Deleted property: reviewer_full_name - Deleted property: reviewer_uuid - Deleted property: round_cutoff_time - Deleted property: round_name - Deleted property: round_start_time - Deleted property: round_uuid - Deleted property: state - Deleted property: summary_private_comment - Deleted property: summary_public_comment - Deleted property: summary_score - Deleted property: url - Deleted property: uuid
GET /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: proposals
- Items changed
- Properties changed
- Modified property: reviews
- Description changed from '' to 'Return serialized reviews based on user permissions and visibility settings.
- Staff, call managers, and reviewers see all reviews.
- Submitters see submitted reviews if visibility is enabled.' - Items changed - Type changed from 'object' to '' - Required changed - Deleted required property: call_name - Deleted required property: call_uuid - Deleted required property: proposal - Deleted required property: proposal_name - Deleted required property: proposal_uuid - Deleted required property: review_end_date - Deleted required property: reviewer - Deleted required property: reviewer_full_name - Deleted required property: reviewer_uuid - Deleted required property: round_cutoff_time - Deleted required property: round_name - Deleted required property: round_start_time - Deleted required property: round_uuid - Deleted required property: state - Deleted required property: url - Deleted required property: uuid - Properties changed - Deleted property: call_name - Deleted property: call_uuid - Deleted property: comment_project_description - Deleted property: comment_project_duration - Deleted property: comment_project_has_civilian_purpose - Deleted property: comment_project_is_confidential - Deleted property: comment_project_summary - Deleted property: comment_project_supporting_documentation - Deleted property: comment_project_title - Deleted property: comment_resource_requests - Deleted property: comment_team - Deleted property: proposal - Deleted property: proposal_name - Deleted property: proposal_uuid - Deleted property: review_end_date - Deleted property: reviewer - Deleted property: reviewer_full_name - Deleted property: reviewer_uuid - Deleted property: round_cutoff_time - Deleted property: round_name - Deleted property: round_start_time - Deleted property: round_uuid - Deleted property: state - Deleted property: summary_private_comment - Deleted property: summary_public_comment - Deleted property: summary_score - Deleted property: url - Deleted property: uuid
PATCH /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: proposals
- Items changed
- Properties changed
- Modified property: reviews
- Description changed from '' to 'Return serialized reviews based on user permissions and visibility settings.
- Staff, call managers, and reviewers see all reviews.
- Submitters see submitted reviews if visibility is enabled.' - Items changed - Type changed from 'object' to '' - Required changed - Deleted required property: call_name - Deleted required property: call_uuid - Deleted required property: proposal - Deleted required property: proposal_name - Deleted required property: proposal_uuid - Deleted required property: review_end_date - Deleted required property: reviewer - Deleted required property: reviewer_full_name - Deleted required property: reviewer_uuid - Deleted required property: round_cutoff_time - Deleted required property: round_name - Deleted required property: round_start_time - Deleted required property: round_uuid - Deleted required property: state - Deleted required property: url - Deleted required property: uuid - Properties changed - Deleted property: call_name - Deleted property: call_uuid - Deleted property: comment_project_description - Deleted property: comment_project_duration - Deleted property: comment_project_has_civilian_purpose - Deleted property: comment_project_is_confidential - Deleted property: comment_project_summary - Deleted property: comment_project_supporting_documentation - Deleted property: comment_project_title - Deleted property: comment_resource_requests - Deleted property: comment_team - Deleted property: proposal - Deleted property: proposal_name - Deleted property: proposal_uuid - Deleted property: review_end_date - Deleted property: reviewer - Deleted property: reviewer_full_name - Deleted property: reviewer_uuid - Deleted property: round_cutoff_time - Deleted property: round_name - Deleted property: round_start_time - Deleted property: round_uuid - Deleted property: state - Deleted property: summary_private_comment - Deleted property: summary_public_comment - Deleted property: summary_score - Deleted property: url - Deleted property: uuid
PUT /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: proposals
- Items changed
- Properties changed
- Modified property: reviews
- Description changed from '' to 'Return serialized reviews based on user permissions and visibility settings.
- Staff, call managers, and reviewers see all reviews.
- Submitters see submitted reviews if visibility is enabled.' - Items changed - Type changed from 'object' to '' - Required changed - Deleted required property: call_name - Deleted required property: call_uuid - Deleted required property: proposal - Deleted required property: proposal_name - Deleted required property: proposal_uuid - Deleted required property: review_end_date - Deleted required property: reviewer - Deleted required property: reviewer_full_name - Deleted required property: reviewer_uuid - Deleted required property: round_cutoff_time - Deleted required property: round_name - Deleted required property: round_start_time - Deleted required property: round_uuid - Deleted required property: state - Deleted required property: url - Deleted required property: uuid - Properties changed - Deleted property: call_name - Deleted property: call_uuid - Deleted property: comment_project_description - Deleted property: comment_project_duration - Deleted property: comment_project_has_civilian_purpose - Deleted property: comment_project_is_confidential - Deleted property: comment_project_summary - Deleted property: comment_project_supporting_documentation - Deleted property: comment_project_title - Deleted property: comment_resource_requests - Deleted property: comment_team - Deleted property: proposal - Deleted property: proposal_name - Deleted property: proposal_uuid - Deleted property: review_end_date - Deleted property: reviewer - Deleted property: reviewer_full_name - Deleted property: reviewer_uuid - Deleted property: round_cutoff_time - Deleted property: round_name - Deleted property: round_start_time - Deleted property: round_uuid - Deleted property: state - Deleted property: summary_private_comment - Deleted property: summary_public_comment - Deleted property: summary_score - Deleted property: url - Deleted property: uuid
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: reviewer_identity_visible_to_submitters
- New property: reviews_visible_to_submitters
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: reviewer_identity_visible_to_submitters
- New property: reviews_visible_to_submitters
GET /api/proposal-public-calls/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [reviewer_identity_visible_to_submitters reviews_visible_to_submitters]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: reviewer_identity_visible_to_submitters
- New property: reviews_visible_to_submitters
GET /api/proposal-public-calls/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [reviewer_identity_visible_to_submitters reviews_visible_to_submitters]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: reviewer_identity_visible_to_submitters
- New property: reviews_visible_to_submitters
GET /api/proposal-reviews/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: anonymous_reviewer_name
- Properties changed
- New property: anonymous_reviewer_name
POST /api/proposal-reviews/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: anonymous_reviewer_name
- Properties changed
- New property: anonymous_reviewer_name
GET /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: anonymous_reviewer_name
- Properties changed
- New property: anonymous_reviewer_name
PATCH /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: anonymous_reviewer_name
- Properties changed
- New property: anonymous_reviewer_name
PUT /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: anonymous_reviewer_name
- Properties changed
- New property: anonymous_reviewer_name
GET /api/user-invitations/
- Modified query param: o
- Schema changed
- Items changed
- New enum values: [-created_by created_by]
GET /api/users/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [token_expires_at]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: token_expires_at
POST /api/users/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: token_expires_at
GET /api/users/me/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [token_expires_at]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: token_expires_at
GET /api/users/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [token_expires_at]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: token_expires_at
PATCH /api/users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: token_expires_at
PUT /api/users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: token_expires_at
OpenAPI schema diff - 7.6.5
For version 7.6.5
New Endpoints: 17
GET /api/autoprovisioning-rule-plans/
POST /api/autoprovisioning-rule-plans/
DELETE /api/autoprovisioning-rule-plans/{uuid}/
GET /api/autoprovisioning-rule-plans/{uuid}/
PATCH /api/autoprovisioning-rule-plans/{uuid}/
PUT /api/autoprovisioning-rule-plans/{uuid}/
GET /api/autoprovisioning-rules/
POST /api/autoprovisioning-rules/
DELETE /api/autoprovisioning-rules/{uuid}/
GET /api/autoprovisioning-rules/{uuid}/
PATCH /api/autoprovisioning-rules/{uuid}/
PUT /api/autoprovisioning-rules/{uuid}/
GET /api/openstack-marketplace-tenants/
GET /api/openstack-marketplace-tenants/{uuid}/
POST /api/openstack-marketplace-tenants/{uuid}/create_image/
POST /api/openstack-marketplace-tenants/{uuid}/upload_image_data/{image_id}/
POST /api/projects/{uuid}/sync_user_roles/
Deleted Endpoints: None
Modified Endpoints: 1168
POST /api-auth/logout/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api-auth/password/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api-auth/saml2/providers/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/access-subnets/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/access-subnets/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/access-subnets/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/access-subnets/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/access-subnets/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/access-subnets/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/admin-announcements/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/admin-announcements/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/admin-announcements/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/admin-announcements/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/admin-announcements/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/admin-announcements/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/auth-tokens/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/auth-tokens/{user_id}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/auth-tokens/{user_id}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/auth-valimo/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/auth-valimo/result/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/aws-images/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/aws-images/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/aws-instances/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/aws-instances/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/aws-instances/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/aws-instances/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/aws-instances/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/aws-instances/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/aws-instances/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/aws-instances/{uuid}/resize/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/aws-instances/{uuid}/restart/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/aws-instances/{uuid}/start/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/aws-instances/{uuid}/stop/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/aws-instances/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/aws-regions/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/aws-regions/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/aws-sizes/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/aws-sizes/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/aws-volumes/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/aws-volumes/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/aws-volumes/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/aws-volumes/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/aws-volumes/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/aws-volumes/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/aws-volumes/{uuid}/attach/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/aws-volumes/{uuid}/detach/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/aws-volumes/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/aws-volumes/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-images/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-images/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-locations/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-locations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-public-ips/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-public-ips/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/azure-public-ips/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-public-ips/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/azure-public-ips/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/azure-public-ips/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-public-ips/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-public-ips/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-resource-groups/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-resource-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-sizes/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-sizes/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-sql-databases/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-sql-databases/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/azure-sql-databases/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-sql-databases/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/azure-sql-databases/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/azure-sql-databases/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-sql-databases/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-sql-databases/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-sql-servers/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-sql-servers/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/azure-sql-servers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-sql-servers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/azure-sql-servers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/azure-sql-servers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-sql-servers/{uuid}/create_database/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-sql-servers/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-sql-servers/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-virtualmachines/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-virtualmachines/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/azure-virtualmachines/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/azure-virtualmachines/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/azure-virtualmachines/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/azure-virtualmachines/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-virtualmachines/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-virtualmachines/{uuid}/restart/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-virtualmachines/{uuid}/start/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-virtualmachines/{uuid}/stop/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/azure-virtualmachines/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/billing-total-cost/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/booking-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/booking-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/booking-offerings/{uuid}/google_calendar_sync/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/booking-offerings/{uuid}/share_google_calendar/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/booking-offerings/{uuid}/unshare_google_calendar/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/booking-resources/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/booking-resources/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/booking-resources/{uuid}/accept/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/booking-resources/{uuid}/reject/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/broadcast-message-templates/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/broadcast-message-templates/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/broadcast-message-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/broadcast-message-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/broadcast-message-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/broadcast-message-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/broadcast-messages/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/broadcast-messages/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/broadcast-messages/recipients/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/broadcast-messages/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/broadcast-messages/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/broadcast-messages/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/broadcast-messages/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/broadcast-messages/{uuid}/send/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/call-managing-organisations/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/call-managing-organisations/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/call-managing-organisations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/call-managing-organisations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/call-managing-organisations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/call-managing-organisations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/call-managing-organisations/{uuid}/add_user/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/call-managing-organisations/{uuid}/delete_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/call-managing-organisations/{uuid}/list_users/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/call-managing-organisations/{uuid}/stats/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/call-managing-organisations/{uuid}/update_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/call-rounds/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/call-rounds/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/call-rounds/{uuid}/reviewers/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/celery-stats/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/component-user-usage-limits/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/component-user-usage-limits/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/component-user-usage-limits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/component-user-usage-limits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/component-user-usage-limits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/component-user-usage-limits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/configuration/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customer-credits/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/customer-credits/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/customer-credits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customer-credits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/customer-credits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/customer-credits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/customer-credits/{uuid}/apply_compensations/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/customer-credits/{uuid}/clear_compensations/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customer-credits/{uuid}/consumptions/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customer-permissions-reviews/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customer-permissions-reviews/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/customer-permissions-reviews/{uuid}/close/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customer-quotas/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customers/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/customers/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customers/countries/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customers/{customer_uuid}/marketplace-checklists/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/customers/{customer_uuid}/marketplace-checklists/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customers/{customer_uuid}/marketplace-checklists/{checklist_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/customers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/customers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/customers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/customers/{uuid}/add_user/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/customers/{uuid}/delete_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customers/{uuid}/list_users/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customers/{uuid}/stats/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/customers/{uuid}/update_organization_groups/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/customers/{uuid}/update_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/customers/{uuid}/users/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [role]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: role
- Modified property: expiration_time
- Nullable changed from false to true
- Modified property: role_name
- Nullable changed from false to true
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/daily-quotas/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/database-stats/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/digitalocean-droplets/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/digitalocean-droplets/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/digitalocean-droplets/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/digitalocean-droplets/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/digitalocean-droplets/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/digitalocean-droplets/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/digitalocean-droplets/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/digitalocean-droplets/{uuid}/resize/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/digitalocean-droplets/{uuid}/restart/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/digitalocean-droplets/{uuid}/start/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/digitalocean-droplets/{uuid}/stop/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/digitalocean-droplets/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/digitalocean-images/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/digitalocean-images/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/digitalocean-regions/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/digitalocean-regions/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/digitalocean-sizes/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/digitalocean-sizes/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/email-logs/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/email-logs/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/event-subscriptions/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/event-subscriptions/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/event-subscriptions/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/event-subscriptions/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/events-stats/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/events/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/events/count/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/events/event_groups/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/events/scope_types/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/events/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/feature-values/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/financial-reports/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/financial-reports/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/freeipa-profiles/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/freeipa-profiles/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/freeipa-profiles/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/freeipa-profiles/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/freeipa-profiles/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/freeipa-profiles/{uuid}/update_ssh_keys/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/google-auth/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/google-auth/callback/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/google-auth/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/google-auth/{uuid}/authorize/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/hooks-email/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/hooks-email/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/hooks-email/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/hooks-email/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/hooks-email/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/hooks-email/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/hooks-web/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/hooks-web/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/hooks-web/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/hooks-web/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/hooks-web/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/hooks-web/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/hooks/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/identity-providers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: extra_scope
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/identity-providers/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: extra_scope
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: extra_scope
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/identity-providers/{provider}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/identity-providers/{provider}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: extra_scope
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/identity-providers/{provider}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: extra_scope
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: extra_scope
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/identity-providers/{provider}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: extra_scope
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: extra_scope
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/invoice-items/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/invoice-items/costs/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/invoice-items/customer_costs_for_period/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/invoice-items/project_costs_for_period/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/invoice-items/total_price/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/invoice-items/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/invoice-items/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/invoice-items/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/invoice-items/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/invoice-items/{uuid}/consumptions/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/invoice-items/{uuid}/create_compensation/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/invoice-items/{uuid}/migrate_to/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/invoice/send-financial-report-by-mail/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/invoices/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/invoices/growth/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/invoices/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/invoices/{uuid}/items/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/invoices/{uuid}/paid/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/invoices/{uuid}/send_notification/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/invoices/{uuid}/set_backend_id/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/invoices/{uuid}/set_payment_url/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/invoices/{uuid}/set_reference_number/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/invoices/{uuid}/stats/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/keycloak-groups/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/keycloak-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/keycloak-user-group-memberships/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/keycloak-user-group-memberships/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/keycloak-user-group-memberships/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/keycloak-user-group-memberships/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/keycloak-user-group-memberships/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/keycloak-user-group-memberships/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/keys/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/keys/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/keys/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/keys/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/lexis-links/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/lexis-links/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/lexis-links/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/lexis-links/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/lexis-links/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/lexis-links/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-bookings/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-categories/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-categories/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-categories/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-categories/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-categories/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-categories/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-category-columns/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-category-columns/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-category-columns/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-category-columns/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-category-columns/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-category-columns/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-category-component-usages/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-category-component-usages/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-category-components/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-category-components/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-category-components/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-category-components/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-category-components/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-category-components/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-category-groups/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-category-groups/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-category-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-category-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-category-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-category-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-category-help-articles/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-category-help-articles/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-category-help-articles/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-category-help-articles/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-category-help-articles/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-category-help-articles/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-checklists-categories/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-checklists-categories/{category_uuid}/checklists/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-checklists-categories/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-checklists/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-checklists/{checklist_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-checklists/{checklist_uuid}/answers/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-checklists/{checklist_uuid}/answers/submit/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-checklists/{checklist_uuid}/questions/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-checklists/{checklist_uuid}/stats/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-checklists/{checklist_uuid}/user/{user_uuid}/answers/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-component-usages/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-component-usages/set_usage/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-component-usages/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-component-usages/{uuid}/set_user_usage/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-component-user-usages/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-component-user-usages/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-customer-estimated-cost-policies/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-customer-estimated-cost-policies/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-customer-estimated-cost-policies/actions/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-customer-estimated-cost-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-customer-estimated-cost-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-customer-estimated-cost-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-customer-estimated-cost-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-customer-service-accounts/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-customer-service-accounts/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-customer-service-accounts/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-customer-service-accounts/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-customer-service-accounts/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-customer-service-accounts/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-customer-service-accounts/{uuid}/rotate_api_key/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-global-categories/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-integration-statuses/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-integration-statuses/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-estimated-cost-policies/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-offering-estimated-cost-policies/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-estimated-cost-policies/actions/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-offering-estimated-cost-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-estimated-cost-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-offering-estimated-cost-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-offering-estimated-cost-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-files/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-offering-files/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-offering-files/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-files/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-permissions-log/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: role
- Format changed from '' to 'uri'
- ReadOnly changed from true to false
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-permissions-log/{id}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: role
- Format changed from '' to 'uri'
- ReadOnly changed from true to false
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-permissions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: role
- Format changed from '' to 'uri'
- ReadOnly changed from true to false
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-permissions/{id}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: role
- Format changed from '' to 'uri'
- ReadOnly changed from true to false
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-referrals/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-referrals/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-usage-policies/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-offering-usage-policies/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-usage-policies/actions/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-offering-usage-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-usage-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-offering-usage-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-offering-usage-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-user-roles/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-offering-user-roles/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-offering-user-roles/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-user-roles/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-offering-user-roles/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-offering-user-roles/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_uuid
- ReadOnly changed from true to false
- Modified property: user_uuid
- ReadOnly changed from true to false
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-offering-users/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: offering
- Deleted required property: user
- Properties changed
- New property: offering_uuid
- New property: user_uuid
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_uuid
- ReadOnly changed from true to false
- Modified property: user_uuid
- ReadOnly changed from true to false
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-offering-users/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_uuid
- ReadOnly changed from true to false
- Modified property: user_uuid
- ReadOnly changed from true to false
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-offering-users/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_uuid
- New property: user_uuid
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_uuid
- ReadOnly changed from true to false
- Modified property: user_uuid
- ReadOnly changed from true to false
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-offering-users/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: offering
- Deleted required property: user
- Properties changed
- New property: offering_uuid
- New property: user_uuid
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_uuid
- ReadOnly changed from true to false
- Modified property: user_uuid
- ReadOnly changed from true to false
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-offering-users/{uuid}/update_restricted/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-orders/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: output
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: output
- Properties changed
- Modified property: output
- ReadOnly changed from false to true
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-orders/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-orders/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-orders/{uuid}/approve_by_consumer/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-orders/{uuid}/approve_by_provider/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-orders/{uuid}/cancel/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-orders/{uuid}/reject_by_consumer/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-orders/{uuid}/reject_by_provider/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-orders/{uuid}/set_state_done/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-orders/{uuid}/set_state_erred/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-orders/{uuid}/set_state_executing/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-orders/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-plan-components/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-plan-components/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-plans/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-plans/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-plans/usage_stats/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-plans/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-plans/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-plans/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-plans/{uuid}/archive/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-plans/{uuid}/delete_organization_groups/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-plans/{uuid}/update_organization_groups/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-plans/{uuid}/update_prices/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-plans/{uuid}/update_quotas/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-project-estimated-cost-policies/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-project-estimated-cost-policies/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-project-estimated-cost-policies/actions/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-project-estimated-cost-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-project-estimated-cost-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-project-estimated-cost-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-project-estimated-cost-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-project-service-accounts/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-project-service-accounts/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-project-service-accounts/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-project-service-accounts/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-project-service-accounts/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-project-service-accounts/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-project-service-accounts/{uuid}/rotate_api_key/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-project-update-requests/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-project-update-requests/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-project-update-requests/{uuid}/approve/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-project-update-requests/{uuid}/reject/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/
- New query param: uuid_list
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/groups/
- New query param: uuid_list
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-provider-offerings/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/activate/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/add_endpoint/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/add_user/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/archive/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/component_stats/
- New query param: uuid_list
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/costs/
- New query param: uuid_list
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/create_offering_component/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/customers/
- New query param: uuid_list
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/delete_endpoint/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/delete_image/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/delete_organization_groups/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/delete_thumbnail/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/delete_user/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/draft/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/glauth_users_config/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/importable_resources/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/list_customer_users/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/list_users/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/pause/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/remove_offering_component/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/set_backend_metadata/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/sync/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/unpause/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/update_attributes/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/update_description/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Modified property: secret_options
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/update_location/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/update_offering_component/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/update_options/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/update_organization_groups/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/update_overview/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/update_resource_options/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/update_thumbnail/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-offerings/{uuid}/update_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-resources/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-resources/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-provider-resources/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-provider-resources/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-resources/{uuid}/details/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-resources/{uuid}/glauth_users_config/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-resources/{uuid}/offering_for_subresources/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-resources/{uuid}/plan_periods/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/refresh_last_sync/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/set_as_erred/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/set_as_ok/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/set_backend_id/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/set_backend_metadata/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_staff/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/set_limits/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/set_slug/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/submit_report/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-provider-resources/{uuid}/team/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/terminate/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-provider-resources/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-public-api/check_signature/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-public-api/set_usage/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-public-offerings/
- New query param: uuid_list
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-public-offerings/{uuid}/plans/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-public-offerings/{uuid}/plans/{plan_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-related-customers/{customer_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-remote-synchronisations/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-remote-synchronisations/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-remote-synchronisations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-remote-synchronisations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-remote-synchronisations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-remote-synchronisations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-remote-synchronisations/{uuid}/run_synchronisation/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-resource-offerings/{category_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-resource-users/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-resource-users/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-resource-users/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-resource-users/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-resources/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-resources/suggest_name/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-resources/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-resources/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-resources/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-resources/{uuid}/details/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-resources/{uuid}/glauth_users_config/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-resources/{uuid}/move_resource/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-resources/{uuid}/offering_for_subresources/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-resources/{uuid}/plan_periods/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-resources/{uuid}/set_end_date_by_staff/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-resources/{uuid}/set_slug/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-resources/{uuid}/switch_plan/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-resources/{uuid}/team/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-resources/{uuid}/terminate/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-resources/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-resources/{uuid}/update_limits/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-resources/{uuid}/update_options/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-robot-accounts/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-robot-accounts/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-robot-accounts/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-robot-accounts/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-runtime-states/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-screenshots/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-screenshots/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-screenshots/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-screenshots/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-screenshots/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-screenshots/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-script-async-dry-run/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-script-async-dry-run/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: managed_rancher_tenant_max_cpu
- New property: managed_rancher_tenant_max_disk
- New property: managed_rancher_tenant_max_ram
- Deleted property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-script-sync-resource/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-sections/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-sections/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-sections/{key}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-sections/{key}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-sections/{key}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-sections/{key}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-service-providers/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{service_provider_uuid}/customer_projects/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{service_provider_uuid}/customers/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{service_provider_uuid}/keys/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- New query param: uuid_list
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- New property: managed_rancher_load_balancer_cloud_init_template
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{service_provider_uuid}/project_permissions/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{service_provider_uuid}/user_customers/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{service_provider_uuid}/users/
- New query param: username_list
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/marketplace-service-providers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/marketplace-service-providers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/marketplace-service-providers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-service-providers/{uuid}/add_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{uuid}/api_secret_code/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-service-providers/{uuid}/api_secret_code/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-service-providers/{uuid}/delete_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{uuid}/list_users/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{uuid}/revenue/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{uuid}/robot_account_customers/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{uuid}/robot_account_projects/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-service-providers/{uuid}/set_offerings_username/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-service-providers/{uuid}/stat/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/marketplace-service-providers/{uuid}/update_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/component_usages/
- OperationID changed from 'marketplace_stats_component_usages_retrieve' to 'marketplace_stats_component_usages_list'
- New query param: page
- New query param: page_size
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/component_usages_per_month/
- OperationID changed from 'marketplace_stats_component_usages_per_month_retrieve' to 'marketplace_stats_component_usages_per_month_list'
- New query param: page
- New query param: page_size
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/component_usages_per_project/
- OperationID changed from 'marketplace_stats_component_usages_per_project_retrieve' to 'marketplace_stats_component_usages_per_project_list'
- New query param: page
- New query param: page_size
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/count_active_resources_grouped_by_offering/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/count_active_resources_grouped_by_offering_country/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/count_active_resources_grouped_by_organization_group/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/count_projects_grouped_by_provider_and_industry_flag/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/count_projects_grouped_by_provider_and_oecd/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/count_projects_of_service_providers/
- OperationID changed from 'marketplace_stats_count_projects_of_service_providers_retrieve' to 'marketplace_stats_count_projects_of_service_providers_list'
- New query param: page
- New query param: page_size
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/count_projects_of_service_providers_grouped_by_oecd/
- OperationID changed from 'marketplace_stats_count_projects_of_service_providers_grouped_by_oecd_retrieve' to 'marketplace_stats_count_projects_of_service_providers_grouped_by_oecd_list'
- New query param: page
- New query param: page_size
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/count_unique_users_connected_with_active_resources_of_service_provider/
- OperationID changed from 'marketplace_stats_count_unique_users_connected_with_active_resources_of_service_provider_retrieve' to 'marketplace_stats_count_unique_users_connected_with_active_resources_of_service_provider_list'
- New query param: page
- New query param: page_size
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/count_users_of_service_providers/
- OperationID changed from 'marketplace_stats_count_users_of_service_providers_retrieve' to 'marketplace_stats_count_users_of_service_providers_list'
- New query param: page
- New query param: page_size
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/customer_member_count/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/offerings_counter_stats/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/organization_project_count/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/organization_resource_count/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/projects_limits_grouped_by_industry_flag/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/projects_limits_grouped_by_oecd/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/projects_usages_grouped_by_industry_flag/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/projects_usages_grouped_by_oecd/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/resources_limits/
- OperationID changed from 'marketplace_stats_resources_limits_retrieve' to 'marketplace_stats_resources_limits_list'
- New query param: page
- New query param: page_size
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/marketplace-stats/total_cost_of_active_resources_per_offering/
- OperationID changed from 'marketplace_stats_total_cost_of_active_resources_per_offering_retrieve' to 'marketplace_stats_total_cost_of_active_resources_per_offering_list'
- New query param: page
- New query param: page_size
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/media/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/notification-messages-templates/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/notification-messages-templates/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/notification-messages-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/notification-messages-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/notification-messages-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/notification-messages-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/notification-messages-templates/{uuid}/override/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/notification-messages/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/notification-messages/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/notification-messages/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/notification-messages/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/notification-messages/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/notification-messages/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/notification-messages/{uuid}/disable/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/notification-messages/{uuid}/enable/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-backups/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/openstack-backups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-backups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/openstack-backups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/openstack-backups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-backups/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-backups/{uuid}/restore/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-backups/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-flavors/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-flavors/usage_stats/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-flavors/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-floating-ips/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/openstack-floating-ips/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-floating-ips/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-floating-ips/{uuid}/attach_to_port/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-floating-ips/{uuid}/detach_from_port/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-floating-ips/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-floating-ips/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-floating-ips/{uuid}/update_description/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-images/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-images/usage_stats/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-images/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-instance-availability-zones/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-instance-availability-zones/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-instances/
- New query param: query
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-instances/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/openstack-instances/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/openstack-instances/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-instances/{uuid}/backup/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-instances/{uuid}/change_flavor/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-instances/{uuid}/console/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-instances/{uuid}/console_log/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-instances/{uuid}/floating_ips/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-instances/{uuid}/ports/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-instances/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-instances/{uuid}/restart/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-instances/{uuid}/start/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-instances/{uuid}/stop/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-instances/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-instances/{uuid}/update_allowed_address_pairs/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-instances/{uuid}/update_floating_ips/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-instances/{uuid}/update_ports/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-instances/{uuid}/update_security_groups/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-migrations/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-migrations/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/openstack-migrations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-migrations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/openstack-migrations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/openstack-migrations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-network-rbac-policies/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-network-rbac-policies/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-networks/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/openstack-networks/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-networks/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/openstack-networks/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/openstack-networks/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-networks/{uuid}/create_subnet/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-networks/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-networks/{uuid}/rbac_policy_create/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/openstack-networks/{uuid}/rbac_policy_delete/{rbac_policy_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-networks/{uuid}/set_mtu/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-networks/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-ports/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-ports/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/openstack-ports/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-ports/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/openstack-ports/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/openstack-ports/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-ports/{uuid}/disable_port/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-ports/{uuid}/disable_port_security/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-ports/{uuid}/enable_port/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-ports/{uuid}/enable_port_security/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-ports/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-ports/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-ports/{uuid}/update_port_ip/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-ports/{uuid}/update_security_groups/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-routers/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-routers/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/openstack-routers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-routers/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-routers/{uuid}/add_router_interface/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-routers/{uuid}/remove_router_interface/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-routers/{uuid}/set_routes/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-security-groups/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/openstack-security-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-security-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/openstack-security-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/openstack-security-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-security-groups/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-security-groups/{uuid}/set_rules/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-security-groups/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-server-groups/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-server-groups/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/openstack-server-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-server-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/openstack-server-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/openstack-server-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-server-groups/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-server-groups/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-snapshots/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/openstack-snapshots/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-snapshots/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/openstack-snapshots/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/openstack-snapshots/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-snapshots/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-snapshots/{uuid}/restorations/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-snapshots/{uuid}/restore/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-snapshots/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-subnets/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/openstack-subnets/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-subnets/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/openstack-subnets/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/openstack-subnets/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-subnets/{uuid}/connect/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-subnets/{uuid}/disconnect/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-subnets/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-subnets/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-tenants/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/openstack-tenants/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-tenants/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/openstack-tenants/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/openstack-tenants/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-tenants/{uuid}/backend_instances/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-tenants/{uuid}/backend_volumes/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/{uuid}/change_password/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/{uuid}/create_floating_ip/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/{uuid}/create_network/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/{uuid}/create_security_group/
- Responses changed
- New response: 201
- Deleted response: 200
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/{uuid}/create_server_group/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/{uuid}/pull_floating_ips/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/{uuid}/pull_quotas/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/{uuid}/pull_security_groups/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/{uuid}/pull_server_groups/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/{uuid}/set_quotas/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-tenants/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-volume-availability-zones/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-volume-availability-zones/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-volume-types/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-volume-types/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-volumes/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/openstack-volumes/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/openstack-volumes/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/openstack-volumes/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-volumes/{uuid}/attach/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-volumes/{uuid}/detach/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-volumes/{uuid}/extend/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-volumes/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-volumes/{uuid}/retype/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-volumes/{uuid}/snapshot/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/openstack-volumes/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/organization-groups/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/organization-groups/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/organization-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/organization-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/organization-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/organization-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: OIDC_AUTH_URL
- New property: OIDC_CACHE_TIMEOUT
- New property: OIDC_CLIENT_ID
- New property: OIDC_CLIENT_SECRET
- New property: OIDC_INTROSPECTION_URL
- New property: OIDC_USER_FIELD
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: OIDC_AUTH_URL
- New property: OIDC_CACHE_TIMEOUT
- New property: OIDC_CLIENT_ID
- New property: OIDC_CLIENT_SECRET
- New property: OIDC_INTROSPECTION_URL
- New property: OIDC_USER_FIELD
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/payment-profiles/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/payment-profiles/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/payment-profiles/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/payment-profiles/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/payment-profiles/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/payment-profiles/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/payment-profiles/{uuid}/enable/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/payments/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/payments/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/payments/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/payments/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/payments/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/payments/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/payments/{uuid}/link_to_invoice/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/payments/{uuid}/unlink_from_invoice/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/project-credits/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/project-credits/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/project-credits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/project-credits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/project-credits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/project-credits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/project-quotas/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/project-types/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/project-types/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/projects/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/projects/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/projects/{project_uuid}/marketplace-checklists/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/projects/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/projects/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/projects/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/projects/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/projects/{uuid}/add_user/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/projects/{uuid}/delete_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/projects/{uuid}/list_users/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/projects/{uuid}/move_project/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/projects/{uuid}/other_users/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/projects/{uuid}/stats/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/projects/{uuid}/update_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/promotions-campaigns/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/promotions-campaigns/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/promotions-campaigns/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/promotions-campaigns/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/promotions-campaigns/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/promotions-campaigns/{uuid}/activate/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/promotions-campaigns/{uuid}/orders/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/promotions-campaigns/{uuid}/resources/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/promotions-campaigns/{uuid}/terminate/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-proposals/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-proposals/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/proposal-proposals/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-proposals/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-proposals/{uuid}/add_user/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-proposals/{uuid}/approve/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-proposals/{uuid}/attach_document/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-proposals/{uuid}/delete_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-proposals/{uuid}/list_users/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-proposals/{uuid}/reject/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-proposals/{uuid}/resources/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-proposals/{uuid}/resources/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-proposals/{uuid}/submit/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-proposals/{uuid}/update_project_details/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-proposals/{uuid}/update_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-protected-calls/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-protected-calls/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/proposal-protected-calls/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-protected-calls/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/proposal-protected-calls/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/proposal-protected-calls/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-protected-calls/{uuid}/activate/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-protected-calls/{uuid}/add_user/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-protected-calls/{uuid}/archive/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-protected-calls/{uuid}/attach_documents/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-protected-calls/{uuid}/delete_user/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-protected-calls/{uuid}/detach_documents/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-protected-calls/{uuid}/list_users/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-protected-calls/{uuid}/offerings/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-protected-calls/{uuid}/offerings/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-protected-calls/{uuid}/resource_templates/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-protected-calls/{uuid}/resource_templates/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-protected-calls/{uuid}/rounds/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-protected-calls/{uuid}/rounds/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-protected-calls/{uuid}/update_user/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-public-calls/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-public-calls/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-requested-offerings/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-requested-offerings/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-requested-offerings/{uuid}/accept/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-requested-offerings/{uuid}/cancel/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-requested-resources/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-requested-resources/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-reviews/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-reviews/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/proposal-reviews/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/proposal-reviews/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/proposal-reviews/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/proposal-reviews/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-reviews/{uuid}/accept/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-reviews/{uuid}/reject/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/proposal-reviews/{uuid}/submit/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/provider-invoice-items/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/provider-invoice-items/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/query/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rabbitmq-user-stats/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rabbitmq-vhost-stats/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-apps/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-apps/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/rancher-apps/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-apps/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/rancher-apps/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/rancher-apps/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-apps/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-apps/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-catalogs/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-catalogs/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/rancher-catalogs/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-catalogs/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/rancher-catalogs/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/rancher-catalogs/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-catalogs/{uuid}/refresh/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-cluster-security-groups/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-cluster-security-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/rancher-cluster-security-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/rancher-cluster-security-groups/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-cluster-templates/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-cluster-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-clusters/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [capacity kubernetes_version requested router_ips]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: capacity
- New property: kubernetes_version
- New property: requested
- New property: router_ips
- Modified property: public_ips
- Items changed
- Properties changed
- New property: external_ip_address
- New property: floating_ip_uuid
- Deleted property: cluster
- Modified property: floating_ip
- Nullable changed from true to false
- ReadOnly changed from false to true
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-clusters/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: capacity
- New property: kubernetes_version
- New property: requested
- New property: router_ips
- Modified property: public_ips
- Items changed
- Properties changed
- New property: external_ip_address
- New property: floating_ip_uuid
- Deleted property: cluster
- Modified property: floating_ip
- Nullable changed from true to false
- ReadOnly changed from false to true
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/rancher-clusters/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-clusters/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [capacity kubernetes_version requested router_ips]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: capacity
- New property: kubernetes_version
- New property: requested
- New property: router_ips
- Modified property: public_ips
- Items changed
- Properties changed
- New property: external_ip_address
- New property: floating_ip_uuid
- Deleted property: cluster
- Modified property: floating_ip
- Nullable changed from true to false
- ReadOnly changed from false to true
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: capacity
- New property: kubernetes_version
- New property: requested
- New property: router_ips
- Modified property: public_ips
- Items changed
- Properties changed
- New property: external_ip_address
- New property: floating_ip_uuid
- Deleted property: cluster
- Modified property: floating_ip
- Nullable changed from true to false
- ReadOnly changed from false to true
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: capacity
- New property: kubernetes_version
- New property: requested
- New property: router_ips
- Modified property: public_ips
- Items changed
- Properties changed
- New property: external_ip_address
- New property: floating_ip_uuid
- Deleted property: cluster
- Modified property: floating_ip
- Nullable changed from true to false
- ReadOnly changed from false to true
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-clusters/{uuid}/create_management_security_group/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: capacity
- New property: kubernetes_version
- New property: requested
- New property: router_ips
- Modified property: public_ips
- Items changed
- Properties changed
- New property: external_ip_address
- New property: floating_ip_uuid
- Deleted property: cluster
- Modified property: floating_ip
- Nullable changed from true to false
- ReadOnly changed from false to true
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-clusters/{uuid}/import_yaml/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-clusters/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-clusters/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-hpas/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-hpas/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/rancher-hpas/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-hpas/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/rancher-hpas/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/rancher-hpas/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-hpas/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-hpas/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-hpas/{uuid}/yaml/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/rancher-hpas/{uuid}/yaml/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-ingresses/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-ingresses/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/rancher-ingresses/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-ingresses/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/rancher-ingresses/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/rancher-ingresses/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-ingresses/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-ingresses/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-ingresses/{uuid}/yaml/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/rancher-ingresses/{uuid}/yaml/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-namespaces/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-namespaces/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-nodes/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-nodes/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/rancher-nodes/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-nodes/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-nodes/{uuid}/console/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-nodes/{uuid}/console_log/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-nodes/{uuid}/link_openstack/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-nodes/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-nodes/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-nodes/{uuid}/unlink_openstack/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-projects/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-projects/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-projects/{uuid}/secrets/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-role-templates/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-role-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-services/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-services/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/rancher-services/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-services/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/rancher-services/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/rancher-services/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-services/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-services/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-services/{uuid}/yaml/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/rancher-services/{uuid}/yaml/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-template-versions/{template_uuid}/{version}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-templates/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-users/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-users/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-workloads/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-workloads/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/rancher-workloads/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-workloads/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/rancher-workloads/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/rancher-workloads/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/rancher-workloads/{uuid}/redeploy/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/rancher-workloads/{uuid}/yaml/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/rancher-workloads/{uuid}/yaml/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-eduteams/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/cancel_termination/{uuid}
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/import_offering/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/pull_offering_details/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/pull_offering_invoices/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/pull_offering_orders/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/pull_offering_resources/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/pull_offering_robot_accounts/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/pull_offering_usage/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/pull_offering_users/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/pull_order/{uuid}
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/push_project_data/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/remote_categories/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/remote_customers/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/shared_offerings/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/sync_resource/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/remote-waldur-api/sync_resource_project_permissions/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/roles/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [users_count]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: users_count
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/roles/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: users_count
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/roles/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/roles/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [users_count]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: users_count
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/roles/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: users_count
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/roles/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: users_count
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/roles/{uuid}/disable/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/roles/{uuid}/enable/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/roles/{uuid}/update_descriptions/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/service-settings/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/service-settings/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/slurm-allocation-user-usage/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/slurm-allocation-user-usage/{id}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/slurm-allocations/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/slurm-allocations/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/slurm-allocations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/slurm-allocations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/slurm-allocations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/slurm-allocations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/slurm-allocations/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/slurm-allocations/{uuid}/set_limits/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/slurm-allocations/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/slurm-associations/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/slurm-associations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/slurm-jobs/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/slurm-jobs/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/slurm-jobs/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/slurm-jobs/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/slurm-jobs/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/slurm-jobs/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/slurm-jobs/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/slurm-jobs/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-attachments/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/support-attachments/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/support-attachments/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-attachments/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-comments/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/support-comments/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-comments/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/support-comments/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/support-comments/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-feedback-average-report/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-feedback-report/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-feedbacks/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/support-feedbacks/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-feedbacks/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-issues/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/support-issues/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/support-issues/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-issues/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/support-issues/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/support-issues/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/support-issues/{uuid}/comment/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/support-issues/{uuid}/sync/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-priorities/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-priorities/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-statistics/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-templates/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/support-templates/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/support-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/support-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/support-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/support-templates/{uuid}/create_attachments/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/support-templates/{uuid}/delete_attachments/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-users/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/support-users/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/sync-issues/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/sync-issues/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/user-agreements/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-agreements/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/user-agreements/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/user-agreements/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/user-agreements/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/user-agreements/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/user-group-invitations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: auto_create_project
- New property: project_name_template
- New property: project_role
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-group-invitations/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: auto_create_project
- New property: project_name_template
- New property: project_role
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: auto_create_project
- New property: project_name_template
- New property: project_role
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/user-group-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: auto_create_project
- New property: project_name_template
- New property: project_role
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-group-invitations/{uuid}/cancel/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/user-group-invitations/{uuid}/projects/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-group-invitations/{uuid}/submit_request/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: auto_create_project
- New property: project_name_template
- New property: project_role
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/user-invitations/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-invitations/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-invitations/approve/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-invitations/reject/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/user-invitations/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-invitations/{uuid}/accept/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-invitations/{uuid}/cancel/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-invitations/{uuid}/check/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-invitations/{uuid}/delete/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/user-invitations/{uuid}/details/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-invitations/{uuid}/send/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/user-permission-requests/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/user-permission-requests/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-permission-requests/{uuid}/approve/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/user-permission-requests/{uuid}/reject/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/user-permissions/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/user-permissions/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/users/
- New query param: username_list
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/users/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/users/confirm_email/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/users/me/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/users/{user_uuid}/marketplace-checklist-stats/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/users/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/users/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/users/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/users/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/users/{uuid}/cancel_change_email/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/users/{uuid}/change_email/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/users/{uuid}/change_password/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/users/{uuid}/pull_remote_user/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/users/{uuid}/refresh_token/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/users/{uuid}/token/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/version/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-clusters/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-clusters/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-datastores/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-datastores/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-disks/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/vmware-disks/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-disks/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-disks/{uuid}/extend/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-disks/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-disks/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-folders/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-folders/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-limits/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-networks/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-networks/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-ports/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/vmware-ports/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-ports/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-ports/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-ports/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-templates/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-templates/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-virtual-machine/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-virtual-machine/
- Security changed
- New security requirements: waldurOIDCAuth
DELETE /api/vmware-virtual-machine/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-virtual-machine/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PATCH /api/vmware-virtual-machine/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
PUT /api/vmware-virtual-machine/{uuid}/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-virtual-machine/{uuid}/console/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-virtual-machine/{uuid}/create_disk/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-virtual-machine/{uuid}/create_port/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-virtual-machine/{uuid}/pull/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-virtual-machine/{uuid}/reboot_guest/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-virtual-machine/{uuid}/reset/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-virtual-machine/{uuid}/shutdown_guest/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-virtual-machine/{uuid}/start/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-virtual-machine/{uuid}/stop/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-virtual-machine/{uuid}/suspend/
- Security changed
- New security requirements: waldurOIDCAuth
POST /api/vmware-virtual-machine/{uuid}/unlink/
- Security changed
- New security requirements: waldurOIDCAuth
GET /api/vmware-virtual-machine/{uuid}/web_console/
- Security changed
- New security requirements: waldurOIDCAuth
OpenAPI schema diff - 7.6.6
For version 7.6.6
No changes
OpenAPI schema diff - 7.6.7
For version 7.6.7
New Endpoints: None
Deleted Endpoints: None
Modified Endpoints: 21
GET /api/customers/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [projects]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: projects
POST /api/customers/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: projects
GET /api/customers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [projects]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: projects
PATCH /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: projects
PUT /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: projects
GET /api/hooks-email/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
POST /api/hooks-email/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
GET /api/hooks-email/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
PATCH /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
PUT /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
GET /api/hooks-web/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
POST /api/hooks-web/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
GET /api/hooks-web/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
PATCH /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
PUT /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_deactivated_no_roles]
GET /api/marketplace-offering-permissions-log/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: role
- ReadOnly changed from false to true
GET /api/marketplace-offering-permissions-log/{id}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: role
- ReadOnly changed from false to true
GET /api/marketplace-offering-permissions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: role
- ReadOnly changed from false to true
GET /api/marketplace-offering-permissions/{id}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: role
- ReadOnly changed from false to true
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: DEACTIVATE_USER_IF_NO_ROLES
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: DEACTIVATE_USER_IF_NO_ROLES
OpenAPI schema diff - 7.6.8
For version 7.6.8
New Endpoints: 35
GET /api/backend-resource-requests/
POST /api/backend-resource-requests/
GET /api/backend-resource-requests/{uuid}/
POST /api/backend-resource-requests/{uuid}/set_done/
POST /api/backend-resource-requests/{uuid}/set_erred/
POST /api/backend-resource-requests/{uuid}/start_processing/
GET /api/backend-resources/
POST /api/backend-resources/
DELETE /api/backend-resources/{uuid}/
GET /api/backend-resources/{uuid}/
POST /api/backend-resources/{uuid}/import_resource/
GET /api/marketplace-maintenance-announcement-offerings/
POST /api/marketplace-maintenance-announcement-offerings/
DELETE /api/marketplace-maintenance-announcement-offerings/{uuid}/
GET /api/marketplace-maintenance-announcement-offerings/{uuid}/
PATCH /api/marketplace-maintenance-announcement-offerings/{uuid}/
PUT /api/marketplace-maintenance-announcement-offerings/{uuid}/
GET /api/marketplace-maintenance-announcement-template-offerings/
POST /api/marketplace-maintenance-announcement-template-offerings/
DELETE /api/marketplace-maintenance-announcement-template-offerings/{uuid}/
GET /api/marketplace-maintenance-announcement-template-offerings/{uuid}/
PATCH /api/marketplace-maintenance-announcement-template-offerings/{uuid}/
PUT /api/marketplace-maintenance-announcement-template-offerings/{uuid}/
GET /api/marketplace-maintenance-announcements-template/
POST /api/marketplace-maintenance-announcements-template/
DELETE /api/marketplace-maintenance-announcements-template/{uuid}/
GET /api/marketplace-maintenance-announcements-template/{uuid}/
PATCH /api/marketplace-maintenance-announcements-template/{uuid}/
PUT /api/marketplace-maintenance-announcements-template/{uuid}/
GET /api/marketplace-maintenance-announcements/
POST /api/marketplace-maintenance-announcements/
DELETE /api/marketplace-maintenance-announcements/{uuid}/
GET /api/marketplace-maintenance-announcements/{uuid}/
PATCH /api/marketplace-maintenance-announcements/{uuid}/
PUT /api/marketplace-maintenance-announcements/{uuid}/
Deleted Endpoints: None
Modified Endpoints: 268
GET /api/access-subnets/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/admin-announcements/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/auth-tokens/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/autoprovisioning-rule-plans/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/autoprovisioning-rules/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/aws-images/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/aws-instances/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/aws-regions/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/aws-sizes/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/aws-volumes/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/azure-images/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/azure-locations/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/azure-public-ips/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/azure-resource-groups/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/azure-sizes/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/azure-sql-databases/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/azure-sql-servers/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/azure-virtualmachines/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/booking-offerings/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/booking-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/booking-resources/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/booking-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/broadcast-message-templates/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/broadcast-messages/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/call-managing-organisations/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/call-rounds/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/component-user-usage-limits/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/customer-credits/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/customer-permissions-reviews/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/digitalocean-droplets/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/digitalocean-images/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/digitalocean-regions/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/digitalocean-sizes/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/email-logs/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/event-subscriptions/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/events-stats/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/events/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/financial-reports/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/freeipa-profiles/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/google-auth/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/hooks-email/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
POST /api/hooks-email/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
GET /api/hooks-email/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
PATCH /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
PUT /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
GET /api/hooks-web/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
POST /api/hooks-web/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
- Examples changed
- Modified example: Webhook-create
- Value changed from map[destination_url:http://example.com/ event_groups:[users] event_types:[resource_start_succeeded]] to map[destination_url:http://example.com/ event_groups:[users] event_types:[customer_update_succeeded]]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
GET /api/hooks-web/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
PATCH /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
PUT /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [openstack_security_group_added_remotely openstack_security_group_removed_remotely openstack_security_group_added_locally openstack_security_group_removed_locally]
GET /api/hooks/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/identity-providers/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/invoice-items/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/invoices/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/keycloak-groups/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/keycloak-user-group-memberships/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/keys/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/lexis-links/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-categories/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-category-columns/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-category-component-usages/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-category-components/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-category-groups/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-category-help-articles/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-checklists-categories/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-checklists-categories/{category_uuid}/checklists/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-checklists/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-checklists/{checklist_uuid}/answers/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-checklists/{checklist_uuid}/questions/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-checklists/{checklist_uuid}/user/{user_uuid}/answers/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-component-usages/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-component-user-usages/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-customer-estimated-cost-policies/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-customer-service-accounts/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-integration-statuses/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-offering-estimated-cost-policies/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-offering-files/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-offering-permissions-log/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Modified query param: scope_uuid
- Schema changed
- Format changed from 'uuid' to ''
GET /api/marketplace-offering-permissions/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Modified query param: scope_uuid
- Schema changed
- Format changed from 'uuid' to ''
GET /api/marketplace-offering-referrals/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-offering-usage-policies/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-offering-user-roles/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-offering-users/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-orders/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/marketplace-orders/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/marketplace-plan-components/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-plans/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
POST /api/marketplace-plans/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/marketplace-plans/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
PATCH /api/marketplace-plans/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
PUT /api/marketplace-plans/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/marketplace-project-estimated-cost-policies/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-project-service-accounts/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-project-update-requests/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-provider-offerings/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Modified query param: scope_uuid
- Schema changed
- Format changed from 'uuid' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/marketplace-provider-offerings/groups/
- Modified query param: scope_uuid
- Schema changed
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/marketplace-provider-offerings/{uuid}/component_stats/
- Modified query param: scope_uuid
- Schema changed
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-offerings/{uuid}/costs/
- Modified query param: scope_uuid
- Schema changed
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-offerings/{uuid}/customers/
- Modified query param: scope_uuid
- Schema changed
- Format changed from 'uuid' to ''
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Description changed from '' to 'Refresh offering user usernames.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: status
- Properties changed
- New property: status
- Deleted property: access_url
- Deleted property: attributes
- Deleted property: backend_id
- Deleted property: backend_metadata
- Deleted property: billable
- Deleted property: category
- Deleted property: category_title
- Deleted property: category_uuid
- Deleted property: citation_count
- Deleted property: components
- Deleted property: country
- Deleted property: created
- Deleted property: customer
- Deleted property: customer_name
- Deleted property: customer_uuid
- Deleted property: datacite_doi
- Deleted property: description
- Deleted property: endpoints
- Deleted property: files
- Deleted property: full_description
- Deleted property: getting_started
- Deleted property: google_calendar_is_public
- Deleted property: google_calendar_link
- Deleted property: image
- Deleted property: integration_guide
- Deleted property: integration_status
- Deleted property: latitude
- Deleted property: longitude
- Deleted property: name
- Deleted property: options
- Deleted property: order_count
- Deleted property: organization_groups
- Deleted property: parent_description
- Deleted property: parent_name
- Deleted property: parent_uuid
- Deleted property: paused_reason
- Deleted property: plans
- Deleted property: plugin_options
- Deleted property: privacy_policy_link
- Deleted property: project
- Deleted property: project_name
- Deleted property: project_uuid
- Deleted property: quotas
- Deleted property: resource_options
- Deleted property: roles
- Deleted property: scope
- Deleted property: scope_error_message
- Deleted property: scope_name
- Deleted property: scope_state
- Deleted property: scope_uuid
- Deleted property: screenshots
- Deleted property: secret_options
- Deleted property: service_attributes
- Deleted property: shared
- Deleted property: slug
- Deleted property: state
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
- Deleted property: thumbnail
- Deleted property: total_cost
- Deleted property: total_cost_estimated
- Deleted property: total_customers
- Deleted property: type
- Deleted property: url
- Deleted property: uuid
- Deleted property: vendor_details
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-provider-offerings/{uuid}/update_offering_component/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: uuid
- Properties changed
- New property: uuid
POST /api/marketplace-provider-offerings/{uuid}/update_overview/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/marketplace-provider-resources/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/marketplace-provider-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/marketplace-provider-resources/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-provider-resources/{uuid}/set_as_erred/
- Description changed from '' to 'Set the resource as erred.'
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-resources/{uuid}/set_backend_id/
- Description changed from '' to 'Set resource backend ID.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: status
- Properties changed
- New property: status
- Deleted property: backend_id
POST /api/marketplace-provider-resources/{uuid}/set_backend_metadata/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: status
- Deleted required property: backend_metadata
- Properties changed
- New property: status
- Deleted property: backend_metadata
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
POST /api/marketplace-provider-resources/{uuid}/set_limits/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: status
- Deleted required property: limits
- Properties changed
- New property: status
- Deleted property: limits
POST /api/marketplace-provider-resources/{uuid}/submit_report/
- Description changed from '' to 'Submit resource report.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: status
- Deleted required property: report
- Properties changed
- New property: status
- Deleted property: report
GET /api/marketplace-public-offerings/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Modified query param: scope_uuid
- Schema changed
- Format changed from 'uuid' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/marketplace-public-offerings/{uuid}/plans/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/marketplace-public-offerings/{uuid}/plans/{plan_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/marketplace-remote-synchronisations/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-resource-users/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-resources/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/marketplace-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/marketplace-resources/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-resources/{uuid}/update_options/
- Description changed from '' to 'Update resource options.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: status
- Properties changed
- New property: status
- Deleted property: options
GET /api/marketplace-robot-accounts/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/marketplace-screenshots/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-script-async-dry-run/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: minimal_team_count_for_provisioning
- New property: required_team_role_for_provisioning
GET /api/marketplace-sections/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-service-providers/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-service-providers/{service_provider_uuid}/customer_projects/
- New query param: slug
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Modified query param: scope_uuid
- Schema changed
- Format changed from 'uuid' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plans
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/marketplace-service-providers/{service_provider_uuid}/project_permissions/
- Modified query param: scope_uuid
- Schema changed
- Format changed from 'uuid' to ''
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- New query param: slug
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/notification-messages-templates/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/notification-messages/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-backups/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-flavors/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- New query param: offering_uuid
GET /api/openstack-images/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- New query param: offering_uuid
GET /api/openstack-instance-availability-zones/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-instances/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-marketplace-tenants/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-migrations/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-network-rbac-policies/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-networks/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-ports/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-routers/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-security-groups/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-server-groups/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-snapshots/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-subnets/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-tenants/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-volume-availability-zones/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/openstack-volume-types/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- New query param: offering_uuid
GET /api/openstack-volumes/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/organization-groups/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES
- New property: MAINTENANCE_ANNOUNCEMENT_NOTIFY_SYSTEM
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: MAINTENANCE_ANNOUNCEMENT_NOTIFY_BEFORE_MINUTES
- New property: MAINTENANCE_ANNOUNCEMENT_NOTIFY_SYSTEM
GET /api/payment-profiles/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/payments/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/project-credits/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/project-types/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/projects/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- New query param: slug
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
POST /api/projects/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/projects/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
PATCH /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
PUT /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
POST /api/projects/{uuid}/move_project/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/promotions-campaigns/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/promotions-campaigns/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: attributes
- Type changed from 'object' to ''
- Description changed from 'Get attributes excluding secret attributes, such as username and password.' to ''
- ReadOnly changed from true to false
- AdditionalProperties changed
- Schema deleted
GET /api/proposal-proposals/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
POST /api/proposal-proposals/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-proposals/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
POST /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
PATCH /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
PUT /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-protected-calls/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: offerings
- Items changed
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
POST /api/proposal-protected-calls/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: offerings
- Items changed
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: offerings
- Items changed
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
PATCH /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: offerings
- Items changed
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
PUT /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: offerings
- Items changed
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: created
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
POST /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: created
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: created
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
PATCH /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: created
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
PUT /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: created
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: offerings
- Items changed
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-public-calls/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: offerings
- Items changed
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-public-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
- Modified property: offerings
- Items changed
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-requested-offerings/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: created
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-requested-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: created
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-requested-resources/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-requested-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- New property: created
- Modified property: components
- Items changed
- Properties changed
- Modified property: factor
- Nullable changed from false to true
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to null
GET /api/proposal-reviews/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/provider-invoice-items/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-apps/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-catalogs/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-cluster-security-groups/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-cluster-templates/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-clusters/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-hpas/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-ingresses/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-namespaces/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-nodes/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-projects/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-role-templates/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-services/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-templates/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-users/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/rancher-workloads/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/roles/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/service-settings/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Modified query param: scope_uuid
- Schema changed
- Format changed from 'uuid' to ''
GET /api/slurm-allocation-user-usage/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/slurm-allocations/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/slurm-associations/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/slurm-jobs/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/support-attachments/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/support-comments/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/support-feedbacks/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/support-issues/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/support-priorities/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/support-templates/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/support-users/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/user-agreements/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: content
POST /api/user-agreements/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: content
- Properties changed
- Modified property: content
- MinLength changed from 0 to 1
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: content
GET /api/user-agreements/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: content
PATCH /api/user-agreements/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: content
- MinLength changed from 0 to 1
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: content
PUT /api/user-agreements/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: content
- Properties changed
- Modified property: content
- MinLength changed from 0 to 1
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: content
GET /api/user-group-invitations/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/user-invitations/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: extra_invitation_text
- MaxLength changed from null to 250
POST /api/user-invitations/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: extra_invitation_text
- MaxLength changed from null to 250
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: extra_invitation_text
- MaxLength changed from null to 250
GET /api/user-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: extra_invitation_text
- MaxLength changed from null to 250
GET /api/user-permission-requests/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/user-permissions/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
- Modified query param: scope_uuid
- Schema changed
- Format changed from 'uuid' to ''
GET /api/users/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/vmware-clusters/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/vmware-datastores/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/vmware-disks/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/vmware-folders/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/vmware-networks/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/vmware-ports/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/vmware-templates/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/vmware-virtual-machine/
- Description changed from '' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
OpenAPI schema diff - 7.6.9
For version 7.6.9
New Endpoints: 1
GET /api/openstack-volume-types/names/
Deleted Endpoints: None
Modified Endpoints: 28
GET /api/booking-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/booking-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/invoices/
- Deleted query param: max_sum
- Deleted query param: min_sum
GET /api/invoices/{uuid}/stats/
- Deleted query param: max_sum
- Deleted query param: min_sum
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
POST /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/marketplace-public-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_tenant_max_ram
- Description changed from 'Max number of RAM for tenants' to 'Max number of RAM for tenants (GB)'
OpenAPI schema diff - 7.7.0
For version 7.7.0
New Endpoints: 8
POST /api/broadcast-messages/{uuid}/schedule/
GET /api/call-proposal-project-role-mappings/
POST /api/call-proposal-project-role-mappings/
DELETE /api/call-proposal-project-role-mappings/{uuid}/
GET /api/call-proposal-project-role-mappings/{uuid}/
PATCH /api/call-proposal-project-role-mappings/{uuid}/
PUT /api/call-proposal-project-role-mappings/{uuid}/
DELETE /api/marketplace-plans/{uuid}/
Deleted Endpoints: 6
GET /api/autoprovisioning-rule-plans/
POST /api/autoprovisioning-rule-plans/
DELETE /api/autoprovisioning-rule-plans/{uuid}/
GET /api/autoprovisioning-rule-plans/{uuid}/
PATCH /api/autoprovisioning-rule-plans/{uuid}/
PUT /api/autoprovisioning-rule-plans/{uuid}/
Modified Endpoints: 36
GET /api/autoprovisioning-rules/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: customer_name
- New required property: customer_uuid
- New required property: name
- New required property: project_role_description
- New required property: project_role_dispay_name
- Deleted required property: plans
- Properties changed
- New property: customer_name
- New property: customer_uuid
- New property: name
- New property: plan
- New property: plan_attributes
- New property: plan_limits
- New property: project_role_description
- New property: project_role_dispay_name
- Deleted property: plans
POST /api/autoprovisioning-rules/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: name
- Properties changed
- New property: name
- New property: plan
- New property: plan_attributes
- New property: plan_limits
- New property: project_role_name
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_name
- New required property: customer_uuid
- New required property: name
- New required property: project_role_description
- New required property: project_role_dispay_name
- Deleted required property: plans
- Properties changed
- New property: customer_name
- New property: customer_uuid
- New property: name
- New property: plan
- New property: plan_attributes
- New property: plan_limits
- New property: project_role_description
- New property: project_role_dispay_name
- Deleted property: plans
GET /api/autoprovisioning-rules/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_name
- New required property: customer_uuid
- New required property: name
- New required property: project_role_description
- New required property: project_role_dispay_name
- Deleted required property: plans
- Properties changed
- New property: customer_name
- New property: customer_uuid
- New property: name
- New property: plan
- New property: plan_attributes
- New property: plan_limits
- New property: project_role_description
- New property: project_role_dispay_name
- Deleted property: plans
PATCH /api/autoprovisioning-rules/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: name
- New property: plan
- New property: plan_attributes
- New property: plan_limits
- New property: project_role_name
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_name
- New required property: customer_uuid
- New required property: name
- New required property: project_role_description
- New required property: project_role_dispay_name
- Deleted required property: plans
- Properties changed
- New property: customer_name
- New property: customer_uuid
- New property: name
- New property: plan
- New property: plan_attributes
- New property: plan_limits
- New property: project_role_description
- New property: project_role_dispay_name
- Deleted property: plans
PUT /api/autoprovisioning-rules/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: name
- Properties changed
- New property: name
- New property: plan
- New property: plan_attributes
- New property: plan_limits
- New property: project_role_name
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_name
- New required property: customer_uuid
- New required property: name
- New required property: project_role_description
- New required property: project_role_dispay_name
- Deleted required property: plans
- Properties changed
- New property: customer_name
- New property: customer_uuid
- New property: name
- New property: plan
- New property: plan_attributes
- New property: plan_limits
- New property: project_role_description
- New property: project_role_dispay_name
- Deleted property: plans
GET /api/hooks-email/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
POST /api/hooks-email/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
GET /api/hooks-email/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
PATCH /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
PUT /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
GET /api/hooks-web/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
POST /api/hooks-web/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
GET /api/hooks-web/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
PATCH /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
PUT /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_plan_deleted]
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
GET /api/marketplace-public-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: google_calendar_link
- Description changed from '' to 'Get the Google Calendar link for an offering.'
GET /api/proposal-protected-calls/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [default_project_role default_project_role_description default_project_role_name]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: default_project_role
- Deleted property: default_project_role_description
- Deleted property: default_project_role_name
POST /api/proposal-protected-calls/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: default_project_role
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: default_project_role
- Deleted property: default_project_role_description
- Deleted property: default_project_role_name
GET /api/proposal-protected-calls/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [default_project_role default_project_role_description default_project_role_name]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: default_project_role
- Deleted property: default_project_role_description
- Deleted property: default_project_role_name
PATCH /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: default_project_role
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: default_project_role
- Deleted property: default_project_role_description
- Deleted property: default_project_role_name
PUT /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: default_project_role
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: default_project_role
- Deleted property: default_project_role_description
- Deleted property: default_project_role_name
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: default_project_role
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: default_project_role
- Deleted property: default_project_role_description
- Deleted property: default_project_role_name
OpenAPI schema diff - 7.7.1
For version 7.7.1
New Endpoints: None
Deleted Endpoints: None
Modified Endpoints: 18
GET /api/autoprovisioning-rules/
- Tags changed from 'autoprovisioning-rules' to 'Autoprovisioning Rules'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Manage autoprovisioning rules.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: category_title
- New required property: category_url
- New required property: offering_name
- New required property: offering_uuid
- New required property: plan_name
- New required property: project_role_display_name
- Deleted required property: project_role_dispay_name
- Properties changed
- New property: category_title
- New property: category_url
- New property: offering_name
- New property: offering_uuid
- New property: plan_name
- New property: project_role_display_name
- Deleted property: project_role_dispay_name
POST /api/autoprovisioning-rules/
- Tags changed from 'autoprovisioning-rules' to 'Autoprovisioning Rules'
- Description changed from '' to 'Manage autoprovisioning rules.'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: category_title
- New required property: category_url
- New required property: offering_name
- New required property: offering_uuid
- New required property: plan_name
- New required property: project_role_display_name
- Deleted required property: project_role_dispay_name
- Properties changed
- New property: category_title
- New property: category_url
- New property: offering_name
- New property: offering_uuid
- New property: plan_name
- New property: project_role_display_name
- Deleted property: project_role_dispay_name
DELETE /api/autoprovisioning-rules/{uuid}/
- Tags changed from 'autoprovisioning-rules' to 'Autoprovisioning Rules'
- Description changed from '' to 'Manage autoprovisioning rules.'
GET /api/autoprovisioning-rules/{uuid}/
- Tags changed from 'autoprovisioning-rules' to 'Autoprovisioning Rules'
- Description changed from '' to 'Manage autoprovisioning rules.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: category_title
- New required property: category_url
- New required property: offering_name
- New required property: offering_uuid
- New required property: plan_name
- New required property: project_role_display_name
- Deleted required property: project_role_dispay_name
- Properties changed
- New property: category_title
- New property: category_url
- New property: offering_name
- New property: offering_uuid
- New property: plan_name
- New property: project_role_display_name
- Deleted property: project_role_dispay_name
PATCH /api/autoprovisioning-rules/{uuid}/
- Tags changed from 'autoprovisioning-rules' to 'Autoprovisioning Rules'
- Description changed from '' to 'Manage autoprovisioning rules.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: category_title
- New required property: category_url
- New required property: offering_name
- New required property: offering_uuid
- New required property: plan_name
- New required property: project_role_display_name
- Deleted required property: project_role_dispay_name
- Properties changed
- New property: category_title
- New property: category_url
- New property: offering_name
- New property: offering_uuid
- New property: plan_name
- New property: project_role_display_name
- Deleted property: project_role_dispay_name
PUT /api/autoprovisioning-rules/{uuid}/
- Tags changed from 'autoprovisioning-rules' to 'Autoprovisioning Rules'
- Description changed from '' to 'Manage autoprovisioning rules.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: category_title
- New required property: category_url
- New required property: offering_name
- New required property: offering_uuid
- New required property: plan_name
- New required property: project_role_display_name
- Deleted required property: project_role_dispay_name
- Properties changed
- New property: category_title
- New property: category_url
- New property: offering_name
- New property: offering_uuid
- New property: plan_name
- New property: project_role_display_name
- Deleted property: project_role_dispay_name
GET /api/customers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: default_tax_percent
- Pattern changed from '^-?\d{0,2}(?:.\d{0,2})?$' to '^-?\d{0,3}(?:.\d{0,2})?$'
POST /api/customers/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: default_tax_percent
- Pattern changed from '^-?\d{0,2}(?:.\d{0,2})?$' to '^-?\d{0,3}(?:.\d{0,2})?$'
GET /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: default_tax_percent
- Pattern changed from '^-?\d{0,2}(?:.\d{0,2})?$' to '^-?\d{0,3}(?:.\d{0,2})?$'
PATCH /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: default_tax_percent
- Pattern changed from '^-?\d{0,2}(?:.\d{0,2})?$' to '^-?\d{0,3}(?:.\d{0,2})?$'
PUT /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: default_tax_percent
- Pattern changed from '^-?\d{0,2}(?:.\d{0,2})?$' to '^-?\d{0,3}(?:.\d{0,2})?$'
GET /api/openstack-floating-ips/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [port_fixed_ips]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: port_fixed_ips
GET /api/openstack-floating-ips/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [port_fixed_ips]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: port_fixed_ips
POST /api/openstack-tenants/{uuid}/create_floating_ip/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: port_fixed_ips
GET /api/user-group-invitations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: project_name_template
- Nullable changed from false to true
POST /api/user-group-invitations/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: project_name_template
- Nullable changed from false to true
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: project_name_template
- Nullable changed from false to true
GET /api/user-group-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: project_name_template
- Nullable changed from false to true
POST /api/user-group-invitations/{uuid}/submit_request/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: project_name_template
- Nullable changed from false to true
OpenAPI schema diff - 7.7.2
For version 7.7.2
New Endpoints: 25
GET /api/marketplace-checklists-admin-question-dependencies/
POST /api/marketplace-checklists-admin-question-dependencies/
DELETE /api/marketplace-checklists-admin-question-dependencies/{uuid}/
GET /api/marketplace-checklists-admin-question-dependencies/{uuid}/
PATCH /api/marketplace-checklists-admin-question-dependencies/{uuid}/
PUT /api/marketplace-checklists-admin-question-dependencies/{uuid}/
GET /api/marketplace-checklists-admin-question-options/
POST /api/marketplace-checklists-admin-question-options/
DELETE /api/marketplace-checklists-admin-question-options/{uuid}/
GET /api/marketplace-checklists-admin-question-options/{uuid}/
PATCH /api/marketplace-checklists-admin-question-options/{uuid}/
PUT /api/marketplace-checklists-admin-question-options/{uuid}/
GET /api/marketplace-checklists-admin-questions/
POST /api/marketplace-checklists-admin-questions/
DELETE /api/marketplace-checklists-admin-questions/{uuid}/
GET /api/marketplace-checklists-admin-questions/{uuid}/
PATCH /api/marketplace-checklists-admin-questions/{uuid}/
PUT /api/marketplace-checklists-admin-questions/{uuid}/
GET /api/marketplace-checklists-admin/
POST /api/marketplace-checklists-admin/
DELETE /api/marketplace-checklists-admin/{uuid}/
GET /api/marketplace-checklists-admin/{uuid}/
PATCH /api/marketplace-checklists-admin/{uuid}/
PUT /api/marketplace-checklists-admin/{uuid}/
GET /api/marketplace-checklists-admin/{uuid}/questions/
Deleted Endpoints: None
Modified Endpoints: 41
POST /api/backend-resources/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
GET /api/booking-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_slug parent_offering_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
GET /api/booking-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_slug parent_offering_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
GET /api/marketplace-checklists-categories/{category_uuid}/checklists/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: url
- Properties changed
- New property: url
GET /api/marketplace-checklists/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: url
- Properties changed
- New property: url
GET /api/marketplace-checklists/{checklist_uuid}/
- Modified path param: checklist_uuid
- Name changed from 'checklist_uuid' to 'uuid'
- Schema changed
- Format changed from '' to 'uuid'
- Pattern changed from '^[a-f0-9]+$' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: url
- Properties changed
- New property: url
GET /api/marketplace-checklists/{checklist_uuid}/answers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: answer_data
- Deleted property: value
POST /api/marketplace-checklists/{checklist_uuid}/answers/submit/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: answer_data
- Deleted required property: value
- Properties changed
- New property: answer_data
- Deleted property: value
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: answer_data
- Deleted required property: value
- Properties changed
- New property: answer_data
- Deleted property: value
GET /api/marketplace-checklists/{checklist_uuid}/questions/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Return questions available for current user.'
- Modified path param: checklist_uuid
- Name changed from 'checklist_uuid' to 'uuid'
- Schema changed
- Format changed from '' to 'uuid'
- Pattern changed from '^[a-f0-9]+$' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: question_options
- Properties changed
- New property: question_options
- Deleted property: correct_answer
- Modified property: solution
- Description changed from 'It is shown when incorrect or N/A answer is chosen' to 'Guidance shown when answer needs clarification'
GET /api/marketplace-checklists/{checklist_uuid}/user/{user_uuid}/answers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: answer_data
- Deleted property: value
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
GET /api/marketplace-provider-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_slug parent_offering_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
GET /api/marketplace-provider-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_slug parent_offering_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
GET /api/marketplace-provider-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_slug parent_offering_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
GET /api/marketplace-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_slug parent_offering_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
GET /api/marketplace-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_slug parent_offering_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
GET /api/marketplace-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_slug parent_offering_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
GET /api/openstack-ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: backend_id
- Nullable changed from false to true
POST /api/openstack-ports/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Nullable changed from false to true
GET /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Nullable changed from false to true
PATCH /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Nullable changed from false to true
PUT /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Nullable changed from false to true
GET /api/openstack-routers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: backend_id
- Nullable changed from false to true
GET /api/openstack-routers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Nullable changed from false to true
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_slug
- New property: parent_offering_slug
GET /api/proposal-protected-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: resource_templates
- Items changed
- Properties changed
- New property: requested_offering_plan
POST /api/proposal-protected-calls/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: resource_templates
- Items changed
- Properties changed
- New property: requested_offering_plan
GET /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: resource_templates
- Items changed
- Properties changed
- New property: requested_offering_plan
PATCH /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: resource_templates
- Items changed
- Properties changed
- New property: requested_offering_plan
PUT /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: resource_templates
- Items changed
- Properties changed
- New property: requested_offering_plan
GET /api/proposal-protected-calls/{uuid}/resource_templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: requested_offering_plan
POST /api/proposal-protected-calls/{uuid}/resource_templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: requested_offering_plan
GET /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: requested_offering_plan
PATCH /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: requested_offering_plan
PUT /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: requested_offering_plan
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: resource_templates
- Items changed
- Properties changed
- New property: requested_offering_plan
GET /api/proposal-public-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: resource_templates
- Items changed
- Properties changed
- New property: requested_offering_plan
GET /api/proposal-public-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: resource_templates
- Items changed
- Properties changed
- New property: requested_offering_plan
OpenAPI schema diff - 7.7.3
For version 7.7.3
New Endpoints: 3
POST /api/marketplace-offering-users/{uuid}/set_pending_account_linking/
POST /api/marketplace-offering-users/{uuid}/set_pending_additional_validation/
POST /api/marketplace-offering-users/{uuid}/set_validation_complete/
Deleted Endpoints: None
Modified Endpoints: 39
GET /api/hooks-email/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
POST /api/hooks-email/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
GET /api/hooks-email/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
PATCH /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
PUT /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
GET /api/hooks-web/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
POST /api/hooks-web/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
GET /api/hooks-web/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
PATCH /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
PUT /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [marketplace_offering_user_updated]
GET /api/marketplace-maintenance-announcement-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
POST /api/marketplace-maintenance-announcement-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
GET /api/marketplace-maintenance-announcement-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
PATCH /api/marketplace-maintenance-announcement-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
PUT /api/marketplace-maintenance-announcement-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
GET /api/marketplace-maintenance-announcements-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: affected_offerings
- Items changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
POST /api/marketplace-maintenance-announcements-template/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: affected_offerings
- Items changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
GET /api/marketplace-maintenance-announcements-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: affected_offerings
- Items changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
PATCH /api/marketplace-maintenance-announcements-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: affected_offerings
- Items changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
PUT /api/marketplace-maintenance-announcements-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: affected_offerings
- Items changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
GET /api/marketplace-maintenance-announcements/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: service_provider_name
- Properties changed
- New property: service_provider_name
- Modified property: affected_offerings
- Items changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MaintenanceAnnouncementStateEnum
- Type changed from 'integer' to 'string'
- New enum values: [Draft Scheduled In progress Completed Cancelled]
- Deleted enum values: [1 2 3 4 5]
POST /api/marketplace-maintenance-announcements/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: service_provider_name
- Properties changed
- New property: service_provider_name
- Modified property: affected_offerings
- Items changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MaintenanceAnnouncementStateEnum
- Type changed from 'integer' to 'string'
- New enum values: [Draft Scheduled In progress Completed Cancelled]
- Deleted enum values: [1 2 3 4 5]
GET /api/marketplace-maintenance-announcements/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: service_provider_name
- Properties changed
- New property: service_provider_name
- Modified property: affected_offerings
- Items changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MaintenanceAnnouncementStateEnum
- Type changed from 'integer' to 'string'
- New enum values: [Draft Scheduled In progress Completed Cancelled]
- Deleted enum values: [1 2 3 4 5]
PATCH /api/marketplace-maintenance-announcements/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: service_provider_name
- Properties changed
- New property: service_provider_name
- Modified property: affected_offerings
- Items changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MaintenanceAnnouncementStateEnum
- Type changed from 'integer' to 'string'
- New enum values: [Draft Scheduled In progress Completed Cancelled]
- Deleted enum values: [1 2 3 4 5]
PUT /api/marketplace-maintenance-announcements/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: service_provider_name
- Properties changed
- New property: service_provider_name
- Modified property: affected_offerings
- Items changed
- Required changed
- New required property: impact_level_display
- New required property: offering_name
- Properties changed
- New property: impact_level_display
- New property: offering_name
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MaintenanceAnnouncementStateEnum
- Type changed from 'integer' to 'string'
- New enum values: [Draft Scheduled In progress Completed Cancelled]
- Deleted enum values: [1 2 3 4 5]
GET /api/marketplace-offering-users/
- New query param: state
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [service_provider_comment state]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: service_provider_comment
- New property: state
POST /api/marketplace-offering-users/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_provider_comment
- New property: state
GET /api/marketplace-offering-users/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [service_provider_comment state]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_provider_comment
- New property: state
PATCH /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_provider_comment
- New property: state
PUT /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_provider_comment
- New property: state
POST /api/marketplace-service-providers/{uuid}/set_offerings_username/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: username
- MinLength changed from 1 to 0
GET /api/user-group-invitations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- Modified property: scope_type
- Nullable changed from false to true
POST /api/user-group-invitations/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- Modified property: scope_type
- Nullable changed from false to true
GET /api/user-group-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- Modified property: scope_type
- Nullable changed from false to true
POST /api/user-group-invitations/{uuid}/submit_request/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- Modified property: scope_type
- Nullable changed from false to true
GET /api/user-invitations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
POST /api/user-invitations/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
GET /api/user-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
GET /api/user-invitations/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
OpenAPI schema diff - 7.7.4
For version 7.7.4
New Endpoints: 221
HEAD /api/access-subnets/
HEAD /api/admin-announcements/
HEAD /api/auth-tokens/
HEAD /api/autoprovisioning-rules/
HEAD /api/aws-images/
HEAD /api/aws-instances/
HEAD /api/aws-regions/
HEAD /api/aws-sizes/
HEAD /api/aws-volumes/
HEAD /api/azure-images/
HEAD /api/azure-locations/
HEAD /api/azure-public-ips/
HEAD /api/azure-resource-groups/
HEAD /api/azure-sizes/
HEAD /api/azure-sql-databases/
HEAD /api/azure-sql-servers/
HEAD /api/azure-virtualmachines/
HEAD /api/backend-resource-requests/
HEAD /api/backend-resources/
HEAD /api/booking-offerings/
HEAD /api/booking-resources/
HEAD /api/broadcast-message-templates/
HEAD /api/broadcast-messages/
HEAD /api/broadcast-messages/recipients/
HEAD /api/call-managing-organisations/
HEAD /api/call-proposal-project-role-mappings/
HEAD /api/call-rounds/
HEAD /api/component-user-usage-limits/
HEAD /api/customer-credits/
HEAD /api/customer-permissions-reviews/
HEAD /api/customer-quotas/
HEAD /api/customers/
HEAD /api/customers/countries/
HEAD /api/digitalocean-droplets/
HEAD /api/digitalocean-images/
HEAD /api/digitalocean-regions/
HEAD /api/digitalocean-sizes/
HEAD /api/email-logs/
HEAD /api/event-subscriptions/
HEAD /api/events-stats/
HEAD /api/events/
HEAD /api/events/count/
HEAD /api/events/event_groups/
HEAD /api/events/scope_types/
HEAD /api/financial-reports/
HEAD /api/freeipa-profiles/
HEAD /api/google-auth/
HEAD /api/google-auth/callback/
HEAD /api/hooks-email/
HEAD /api/hooks-web/
HEAD /api/hooks/
HEAD /api/identity-providers/
HEAD /api/invoice-items/
HEAD /api/invoice-items/costs/
HEAD /api/invoice-items/customer_costs_for_period/
HEAD /api/invoice-items/project_costs_for_period/
HEAD /api/invoice-items/total_price/
HEAD /api/invoices/
HEAD /api/invoices/growth/
HEAD /api/keycloak-groups/
HEAD /api/keycloak-user-group-memberships/
HEAD /api/keys/
HEAD /api/lexis-links/
HEAD /api/marketplace-categories/
HEAD /api/marketplace-category-columns/
HEAD /api/marketplace-category-component-usages/
HEAD /api/marketplace-category-components/
HEAD /api/marketplace-category-groups/
HEAD /api/marketplace-category-help-articles/
HEAD /api/marketplace-checklists-admin-question-dependencies/
HEAD /api/marketplace-checklists-admin-question-options/
HEAD /api/marketplace-checklists-admin-questions/
HEAD /api/marketplace-checklists-admin/
HEAD /api/marketplace-checklists/
HEAD /api/marketplace-component-usages/
HEAD /api/marketplace-component-user-usages/
HEAD /api/marketplace-customer-estimated-cost-policies/
HEAD /api/marketplace-customer-estimated-cost-policies/actions/
HEAD /api/marketplace-customer-service-accounts/
HEAD /api/marketplace-integration-statuses/
HEAD /api/marketplace-maintenance-announcement-offerings/
HEAD /api/marketplace-maintenance-announcement-template-offerings/
HEAD /api/marketplace-maintenance-announcements-template/
HEAD /api/marketplace-maintenance-announcements/
HEAD /api/marketplace-offering-estimated-cost-policies/
HEAD /api/marketplace-offering-estimated-cost-policies/actions/
HEAD /api/marketplace-offering-files/
HEAD /api/marketplace-offering-permissions-log/
HEAD /api/marketplace-offering-permissions/
HEAD /api/marketplace-offering-referrals/
HEAD /api/marketplace-offering-usage-policies/
HEAD /api/marketplace-offering-usage-policies/actions/
HEAD /api/marketplace-offering-user-roles/
HEAD /api/marketplace-offering-users/
POST /api/marketplace-offering-users/{uuid}/begin_creating/
POST /api/marketplace-offering-users/{uuid}/set_ok/
HEAD /api/marketplace-orders/
HEAD /api/marketplace-plan-components/
HEAD /api/marketplace-plans/
HEAD /api/marketplace-plans/usage_stats/
HEAD /api/marketplace-project-estimated-cost-policies/
HEAD /api/marketplace-project-estimated-cost-policies/actions/
HEAD /api/marketplace-project-service-accounts/
HEAD /api/marketplace-project-update-requests/
HEAD /api/marketplace-provider-offerings/
HEAD /api/marketplace-provider-offerings/groups/
HEAD /api/marketplace-provider-resources/
HEAD /api/marketplace-public-offerings/
HEAD /api/marketplace-remote-synchronisations/
HEAD /api/marketplace-resource-users/
HEAD /api/marketplace-resources/
HEAD /api/marketplace-robot-accounts/
HEAD /api/marketplace-screenshots/
HEAD /api/marketplace-script-async-dry-run/
HEAD /api/marketplace-sections/
HEAD /api/marketplace-service-providers/
HEAD /api/marketplace-stats/component_usages/
HEAD /api/marketplace-stats/component_usages_per_month/
HEAD /api/marketplace-stats/component_usages_per_project/
HEAD /api/marketplace-stats/count_active_resources_grouped_by_offering/
HEAD /api/marketplace-stats/count_active_resources_grouped_by_offering_country/
HEAD /api/marketplace-stats/count_active_resources_grouped_by_organization_group/
HEAD /api/marketplace-stats/count_projects_grouped_by_provider_and_industry_flag/
HEAD /api/marketplace-stats/count_projects_grouped_by_provider_and_oecd/
HEAD /api/marketplace-stats/count_projects_of_service_providers/
HEAD /api/marketplace-stats/count_projects_of_service_providers_grouped_by_oecd/
HEAD /api/marketplace-stats/count_unique_users_connected_with_active_resources_of_service_provider/
HEAD /api/marketplace-stats/count_users_of_service_providers/
HEAD /api/marketplace-stats/customer_member_count/
HEAD /api/marketplace-stats/offerings_counter_stats/
HEAD /api/marketplace-stats/organization_project_count/
HEAD /api/marketplace-stats/organization_resource_count/
HEAD /api/marketplace-stats/projects_limits_grouped_by_industry_flag/
HEAD /api/marketplace-stats/projects_limits_grouped_by_oecd/
HEAD /api/marketplace-stats/projects_usages_grouped_by_industry_flag/
HEAD /api/marketplace-stats/projects_usages_grouped_by_oecd/
HEAD /api/marketplace-stats/resources_limits/
HEAD /api/marketplace-stats/total_cost_of_active_resources_per_offering/
HEAD /api/notification-messages-templates/
HEAD /api/notification-messages/
HEAD /api/openstack-backups/
HEAD /api/openstack-flavors/
HEAD /api/openstack-flavors/usage_stats/
HEAD /api/openstack-floating-ips/
HEAD /api/openstack-images/
HEAD /api/openstack-images/usage_stats/
HEAD /api/openstack-instance-availability-zones/
HEAD /api/openstack-instances/
HEAD /api/openstack-marketplace-tenants/
HEAD /api/openstack-migrations/
HEAD /api/openstack-network-rbac-policies/
HEAD /api/openstack-networks/
HEAD /api/openstack-ports/
HEAD /api/openstack-routers/
HEAD /api/openstack-security-groups/
HEAD /api/openstack-server-groups/
HEAD /api/openstack-snapshots/
HEAD /api/openstack-subnets/
HEAD /api/openstack-tenants/
HEAD /api/openstack-volume-availability-zones/
HEAD /api/openstack-volume-types/
HEAD /api/openstack-volume-types/names/
HEAD /api/openstack-volumes/
HEAD /api/organization-groups/
HEAD /api/payment-profiles/
HEAD /api/payments/
HEAD /api/project-credits/
HEAD /api/project-quotas/
HEAD /api/project-types/
HEAD /api/projects/
HEAD /api/promotions-campaigns/
HEAD /api/proposal-proposals/
HEAD /api/proposal-protected-calls/
HEAD /api/proposal-public-calls/
HEAD /api/proposal-requested-offerings/
HEAD /api/proposal-requested-resources/
HEAD /api/proposal-reviews/
HEAD /api/provider-invoice-items/
HEAD /api/rancher-apps/
HEAD /api/rancher-catalogs/
HEAD /api/rancher-cluster-security-groups/
HEAD /api/rancher-cluster-templates/
HEAD /api/rancher-clusters/
HEAD /api/rancher-hpas/
HEAD /api/rancher-ingresses/
HEAD /api/rancher-namespaces/
HEAD /api/rancher-nodes/
HEAD /api/rancher-projects/
HEAD /api/rancher-role-templates/
HEAD /api/rancher-services/
HEAD /api/rancher-templates/
HEAD /api/rancher-users/
HEAD /api/rancher-workloads/
HEAD /api/roles/
HEAD /api/service-settings/
HEAD /api/slurm-allocation-user-usage/
HEAD /api/slurm-allocations/
HEAD /api/slurm-associations/
HEAD /api/slurm-jobs/
HEAD /api/support-attachments/
HEAD /api/support-comments/
HEAD /api/support-feedbacks/
HEAD /api/support-issues/
HEAD /api/support-priorities/
HEAD /api/support-templates/
HEAD /api/support-users/
HEAD /api/user-agreements/
HEAD /api/user-group-invitations/
HEAD /api/user-invitations/
HEAD /api/user-permission-requests/
HEAD /api/user-permissions/
HEAD /api/users/
HEAD /api/users/me/
HEAD /api/vmware-clusters/
HEAD /api/vmware-datastores/
HEAD /api/vmware-disks/
HEAD /api/vmware-folders/
HEAD /api/vmware-networks/
HEAD /api/vmware-ports/
HEAD /api/vmware-templates/
HEAD /api/vmware-virtual-machine/
Deleted Endpoints: None
Modified Endpoints: 371
GET /api-auth/saml2/providers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/access-subnets/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
DELETE /api/access-subnets/{uuid}/
- Extensions changed
- New extension: x-permissions
PATCH /api/access-subnets/{uuid}/
- Extensions changed
- New extension: x-permissions
PUT /api/access-subnets/{uuid}/
- Extensions changed
- New extension: x-permissions
GET /api/admin-announcements/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/auth-tokens/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/autoprovisioning-rules/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/aws-images/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/aws-instances/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/aws-regions/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/aws-sizes/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/aws-volumes/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/azure-images/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/azure-locations/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/azure-public-ips/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/azure-resource-groups/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/azure-sizes/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/azure-sql-databases/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/azure-sql-servers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/azure-virtualmachines/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/backend-resource-requests/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: uuid
- Properties changed
- New property: uuid
- Headers changed
- New header: x-result-count
POST /api/backend-resource-requests/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: uuid
- Properties changed
- New property: uuid
GET /api/backend-resource-requests/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: uuid
- Properties changed
- New property: uuid
POST /api/backend-resource-requests/{uuid}/set_done/
- Extensions changed
- New extension: x-permissions
POST /api/backend-resource-requests/{uuid}/set_erred/
- Extensions changed
- New extension: x-permissions
POST /api/backend-resource-requests/{uuid}/start_processing/
- Extensions changed
- New extension: x-permissions
GET /api/backend-resources/
- Extensions changed
- New extension: x-permissions
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
DELETE /api/backend-resources/{uuid}/
- Extensions changed
- New extension: x-permissions
GET /api/backend-resources/{uuid}/
- Extensions changed
- New extension: x-permissions
GET /api/booking-offerings/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/booking-resources/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/booking-resources/{uuid}/accept/
- Extensions changed
- New extension: x-permissions
GET /api/broadcast-message-templates/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/broadcast-messages/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/call-managing-organisations/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/call-managing-organisations/{uuid}/list_users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/call-proposal-project-role-mappings/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/call-rounds/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/call-rounds/{uuid}/reviewers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/component-user-usage-limits/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
DELETE /api/component-user-usage-limits/{uuid}/
- Extensions changed
- New extension: x-permissions
PATCH /api/component-user-usage-limits/{uuid}/
- Extensions changed
- New extension: x-permissions
PUT /api/component-user-usage-limits/{uuid}/
- Extensions changed
- New extension: x-permissions
GET /api/customer-credits/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/customer-credits/{uuid}/consumptions/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/customer-permissions-reviews/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/customer-quotas/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/customers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/customers/countries/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/customers/{uuid}/list_users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/customers/{uuid}/users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/database-stats/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/digitalocean-droplets/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/digitalocean-images/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/digitalocean-regions/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/digitalocean-sizes/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/email-logs/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/event-subscriptions/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/events-stats/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/events/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/financial-reports/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/freeipa-profiles/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/google-auth/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/hooks-email/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/hooks-web/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/identity-providers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/invoice-items/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/invoice-items/costs/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/invoices/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/invoices/{uuid}/stats/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/keycloak-groups/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/keycloak-user-group-memberships/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/keys/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/lexis-links/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/lexis-links/
- Extensions changed
- New extension: x-permissions
DELETE /api/lexis-links/{uuid}/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-bookings/{uuid}/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-categories/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-category-columns/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-category-component-usages/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-category-components/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-category-groups/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-category-help-articles/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-checklists-admin-question-dependencies/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-checklists-admin-question-options/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-checklists-admin-questions/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-checklists-admin/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-checklists-categories/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-checklists-categories/{category_uuid}/checklists/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-checklists/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-checklists/{checklist_uuid}/answers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-checklists/{checklist_uuid}/stats/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-checklists/{checklist_uuid}/user/{user_uuid}/answers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-checklists/{uuid}/questions/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-component-usages/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/marketplace-component-usages/{uuid}/set_user_usage/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-component-user-usages/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-customer-estimated-cost-policies/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-customer-service-accounts/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
DELETE /api/marketplace-customer-service-accounts/{uuid}/
- Extensions changed
- New extension: x-permissions
PATCH /api/marketplace-customer-service-accounts/{uuid}/
- Extensions changed
- New extension: x-permissions
PUT /api/marketplace-customer-service-accounts/{uuid}/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-customer-service-accounts/{uuid}/rotate_api_key/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-integration-statuses/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-maintenance-announcement-offerings/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-maintenance-announcement-template-offerings/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-maintenance-announcements-template/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-maintenance-announcements/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-offering-estimated-cost-policies/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-offering-files/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-offering-permissions-log/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-offering-permissions/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-offering-referrals/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-offering-usage-policies/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-offering-user-roles/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-offering-users/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_email]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_email
- Headers changed
- New header: x-result-count
POST /api/marketplace-offering-users/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_email
GET /api/marketplace-offering-users/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_email]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_email
PATCH /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_email
PUT /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_email
POST /api/marketplace-offering-users/{uuid}/set_pending_account_linking/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-offering-users/{uuid}/set_pending_additional_validation/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-offering-users/{uuid}/set_validation_complete/
- Extensions changed
- New extension: x-permissions
- Request body changed
GET /api/marketplace-orders/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
DELETE /api/marketplace-orders/{uuid}/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-orders/{uuid}/approve_by_consumer/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-orders/{uuid}/approve_by_provider/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-orders/{uuid}/cancel/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-orders/{uuid}/reject_by_provider/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-orders/{uuid}/set_state_done/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-orders/{uuid}/set_state_erred/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-orders/{uuid}/set_state_executing/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-plan-components/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-plans/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-plans/usage_stats/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
PATCH /api/marketplace-plans/{uuid}/
- Extensions changed
- New extension: x-permissions
PUT /api/marketplace-plans/{uuid}/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-plans/{uuid}/archive/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-plans/{uuid}/delete_organization_groups/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-plans/{uuid}/update_organization_groups/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-plans/{uuid}/update_prices/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-plans/{uuid}/update_quotas/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-plugins/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-project-estimated-cost-policies/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-project-service-accounts/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
DELETE /api/marketplace-project-service-accounts/{uuid}/
- Extensions changed
- New extension: x-permissions
PATCH /api/marketplace-project-service-accounts/{uuid}/
- Extensions changed
- New extension: x-permissions
PUT /api/marketplace-project-service-accounts/{uuid}/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-project-service-accounts/{uuid}/rotate_api_key/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-project-update-requests/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-provider-offerings/groups/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
DELETE /api/marketplace-provider-offerings/{uuid}/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/add_endpoint/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/archive/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-provider-offerings/{uuid}/component_stats/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-provider-offerings/{uuid}/costs/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/marketplace-provider-offerings/{uuid}/create_offering_component/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-provider-offerings/{uuid}/customers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/marketplace-provider-offerings/{uuid}/delete_endpoint/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-provider-offerings/{uuid}/importable_resources/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-provider-offerings/{uuid}/list_customer_users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: permissions
- Items changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
- Headers changed
- New header: x-result-count
GET /api/marketplace-provider-offerings/{uuid}/list_users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/marketplace-provider-offerings/{uuid}/pause/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/remove_offering_component/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/set_backend_metadata/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/sync/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/unpause/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/update_attributes/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/update_description/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/update_location/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/update_offering_component/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/update_options/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-offerings/{uuid}/update_resource_options/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-provider-resources/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-provider-resources/{uuid}/offering_for_subresources/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-provider-resources/{uuid}/plan_periods/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/marketplace-provider-resources/{uuid}/refresh_last_sync/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-resources/{uuid}/set_as_erred/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-resources/{uuid}/set_backend_id/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-resources/{uuid}/set_backend_metadata/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-provider-resources/{uuid}/submit_report/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-provider-resources/{uuid}/team/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/marketplace-provider-resources/{uuid}/terminate/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-public-offerings/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-public-offerings/{uuid}/plans/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-related-customers/{customer_uuid}/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-remote-synchronisations/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-resource-offerings/{category_uuid}/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-resource-users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-resources/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-resources/{uuid}/offering_for_subresources/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-resources/{uuid}/plan_periods/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/marketplace-resources/{uuid}/switch_plan/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-resources/{uuid}/team/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/marketplace-resources/{uuid}/terminate/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-resources/{uuid}/update_limits/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-resources/{uuid}/update_options/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
DELETE /api/marketplace-robot-accounts/{uuid}/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-runtime-states/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-screenshots/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
DELETE /api/marketplace-screenshots/{uuid}/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-script-async-dry-run/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Extensions changed
- New extension: x-permissions
POST /api/marketplace-script-dry-run/{uuid}/run/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-sections/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/{service_provider_uuid}/customer_projects/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/{service_provider_uuid}/customers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/{service_provider_uuid}/keys/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/{service_provider_uuid}/project_permissions/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/{service_provider_uuid}/user_customers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/{service_provider_uuid}/users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/{uuid}/list_users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/{uuid}/revenue/
- Extensions changed
- New extension: x-permissions
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/{uuid}/robot_account_customers/
- Extensions changed
- New extension: x-permissions
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-service-providers/{uuid}/robot_account_projects/
- Extensions changed
- New extension: x-permissions
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/marketplace-service-providers/{uuid}/set_offerings_username/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-service-providers/{uuid}/stat/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-stats/component_usages/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/component_usages_per_month/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/component_usages_per_project/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/count_active_resources_grouped_by_offering/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/count_active_resources_grouped_by_offering_country/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/count_active_resources_grouped_by_organization_group/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/count_projects_grouped_by_provider_and_industry_flag/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/count_projects_grouped_by_provider_and_oecd/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/count_projects_of_service_providers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/count_projects_of_service_providers_grouped_by_oecd/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/count_unique_users_connected_with_active_resources_of_service_provider/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/count_users_of_service_providers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/customer_member_count/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/offerings_counter_stats/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/organization_project_count/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/organization_resource_count/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/resources_limits/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/marketplace-stats/total_cost_of_active_resources_per_offering/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/notification-messages-templates/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/notification-messages/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-backups/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-flavors/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-floating-ips/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-images/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-instance-availability-zones/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-instances/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-instances/{uuid}/floating_ips/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-instances/{uuid}/ports/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-marketplace-tenants/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-migrations/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-network-rbac-policies/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-networks/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-ports/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-routers/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-security-groups/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-server-groups/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-snapshots/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-snapshots/{uuid}/restorations/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-subnets/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-tenants/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-tenants/{uuid}/backend_instances/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-tenants/{uuid}/backend_volumes/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-volume-availability-zones/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-volume-types/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/openstack-volumes/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/organization-groups/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/payment-profiles/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/payments/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/project-credits/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/project-quotas/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/project-types/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/projects/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/projects/{project_uuid}/marketplace-checklists/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
DELETE /api/projects/{uuid}/
- Extensions changed
- New extension: x-permissions
PATCH /api/projects/{uuid}/
- Extensions changed
- New extension: x-permissions
PUT /api/projects/{uuid}/
- Extensions changed
- New extension: x-permissions
GET /api/projects/{uuid}/list_users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/projects/{uuid}/other_users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/promotions-campaigns/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
DELETE /api/promotions-campaigns/{uuid}/
- Extensions changed
- New extension: x-permissions
PUT /api/promotions-campaigns/{uuid}/
- Extensions changed
- New extension: x-permissions
POST /api/promotions-campaigns/{uuid}/activate/
- Extensions changed
- New extension: x-permissions
GET /api/promotions-campaigns/{uuid}/orders/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/promotions-campaigns/{uuid}/terminate/
- Extensions changed
- New extension: x-permissions
GET /api/proposal-proposals/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/proposal-proposals/{uuid}/approve/
- Extensions changed
- New extension: x-permissions
GET /api/proposal-proposals/{uuid}/list_users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/proposal-proposals/{uuid}/reject/
- Extensions changed
- New extension: x-permissions
GET /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/proposal-protected-calls/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [manager_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: manager_uuid
- Headers changed
- New header: x-result-count
POST /api/proposal-protected-calls/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: manager_uuid
GET /api/proposal-protected-calls/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [manager_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: manager_uuid
PATCH /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: manager_uuid
PUT /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: manager_uuid
GET /api/proposal-protected-calls/{uuid}/list_users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/proposal-protected-calls/{uuid}/resource_templates/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/proposal-protected-calls/{uuid}/rounds/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: manager_uuid
GET /api/proposal-public-calls/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [manager_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: manager_uuid
- Headers changed
- New header: x-result-count
GET /api/proposal-public-calls/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [manager_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: manager_uuid
GET /api/proposal-requested-offerings/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
POST /api/proposal-requested-offerings/{uuid}/accept/
- Extensions changed
- New extension: x-permissions
POST /api/proposal-requested-offerings/{uuid}/cancel/
- Extensions changed
- New extension: x-permissions
GET /api/proposal-requested-resources/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/proposal-reviews/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/provider-invoice-items/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rabbitmq-user-stats/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rabbitmq-vhost-stats/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-apps/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-catalogs/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-cluster-security-groups/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-cluster-templates/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-clusters/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-hpas/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-ingresses/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-namespaces/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-nodes/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-projects/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-role-templates/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-services/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-templates/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/rancher-workloads/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/roles/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/service-settings/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/slurm-allocation-user-usage/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/slurm-allocations/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/slurm-associations/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/slurm-jobs/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/support-attachments/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/support-comments/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/support-feedbacks/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/support-issues/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/support-priorities/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/support-templates/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/support-users/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/user-agreements/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/user-group-invitations/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/user-group-invitations/{uuid}/projects/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/user-invitations/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/user-permission-requests/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/user-permissions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
- Headers changed
- New header: x-result-count
GET /api/user-permissions/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
GET /api/users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: permissions
- Items changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
- Headers changed
- New header: x-result-count
POST /api/users/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: permissions
- Items changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
GET /api/users/me/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: permissions
- Items changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
GET /api/users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: permissions
- Items changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
PATCH /api/users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: permissions
- Items changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
PUT /api/users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: permissions
- Items changed
- Properties changed
- Modified property: scope_type
- Nullable changed from false to true
GET /api/vmware-clusters/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/vmware-datastores/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/vmware-disks/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/vmware-folders/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/vmware-networks/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/vmware-ports/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/vmware-templates/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
GET /api/vmware-virtual-machine/
- Responses changed
- Modified response: 200
- Headers changed
- New header: x-result-count
OpenAPI schema diff - 7.7.5
For version 7.7.5
New Endpoints: 95
GET /api/checklists-admin-categories/
HEAD /api/checklists-admin-categories/
POST /api/checklists-admin-categories/
DELETE /api/checklists-admin-categories/{uuid}/
GET /api/checklists-admin-categories/{uuid}/
PATCH /api/checklists-admin-categories/{uuid}/
PUT /api/checklists-admin-categories/{uuid}/
GET /api/checklists-admin-question-dependencies/
HEAD /api/checklists-admin-question-dependencies/
POST /api/checklists-admin-question-dependencies/
DELETE /api/checklists-admin-question-dependencies/{uuid}/
GET /api/checklists-admin-question-dependencies/{uuid}/
PATCH /api/checklists-admin-question-dependencies/{uuid}/
PUT /api/checklists-admin-question-dependencies/{uuid}/
GET /api/checklists-admin-question-options/
HEAD /api/checklists-admin-question-options/
POST /api/checklists-admin-question-options/
DELETE /api/checklists-admin-question-options/{uuid}/
GET /api/checklists-admin-question-options/{uuid}/
PATCH /api/checklists-admin-question-options/{uuid}/
PUT /api/checklists-admin-question-options/{uuid}/
GET /api/checklists-admin-questions/
HEAD /api/checklists-admin-questions/
POST /api/checklists-admin-questions/
DELETE /api/checklists-admin-questions/{uuid}/
GET /api/checklists-admin-questions/{uuid}/
PATCH /api/checklists-admin-questions/{uuid}/
PUT /api/checklists-admin-questions/{uuid}/
GET /api/checklists-admin/
HEAD /api/checklists-admin/
POST /api/checklists-admin/
DELETE /api/checklists-admin/{uuid}/
GET /api/checklists-admin/{uuid}/
PATCH /api/checklists-admin/{uuid}/
PUT /api/checklists-admin/{uuid}/
GET /api/checklists-admin/{uuid}/questions/
GET /api/external-links/
HEAD /api/external-links/
POST /api/external-links/
DELETE /api/external-links/{uuid}/
GET /api/external-links/{uuid}/
PATCH /api/external-links/{uuid}/
PUT /api/external-links/{uuid}/
GET /api/maintenance-announcement-offerings/
HEAD /api/maintenance-announcement-offerings/
POST /api/maintenance-announcement-offerings/
DELETE /api/maintenance-announcement-offerings/{uuid}/
GET /api/maintenance-announcement-offerings/{uuid}/
PATCH /api/maintenance-announcement-offerings/{uuid}/
PUT /api/maintenance-announcement-offerings/{uuid}/
GET /api/maintenance-announcement-template-offerings/
HEAD /api/maintenance-announcement-template-offerings/
POST /api/maintenance-announcement-template-offerings/
DELETE /api/maintenance-announcement-template-offerings/{uuid}/
GET /api/maintenance-announcement-template-offerings/{uuid}/
PATCH /api/maintenance-announcement-template-offerings/{uuid}/
PUT /api/maintenance-announcement-template-offerings/{uuid}/
GET /api/maintenance-announcements-template/
HEAD /api/maintenance-announcements-template/
POST /api/maintenance-announcements-template/
DELETE /api/maintenance-announcements-template/{uuid}/
GET /api/maintenance-announcements-template/{uuid}/
PATCH /api/maintenance-announcements-template/{uuid}/
PUT /api/maintenance-announcements-template/{uuid}/
GET /api/maintenance-announcements/
HEAD /api/maintenance-announcements/
POST /api/maintenance-announcements/
DELETE /api/maintenance-announcements/{uuid}/
GET /api/maintenance-announcements/{uuid}/
PATCH /api/maintenance-announcements/{uuid}/
PUT /api/maintenance-announcements/{uuid}/
POST /api/maintenance-announcements/{uuid}/cancel_maintenance/
POST /api/maintenance-announcements/{uuid}/complete_maintenance/
POST /api/maintenance-announcements/{uuid}/schedule/
POST /api/maintenance-announcements/{uuid}/start_maintenance/
POST /api/maintenance-announcements/{uuid}/unschedule/
POST /api/marketplace-offering-users/{uuid}/request_deletion/
POST /api/marketplace-offering-users/{uuid}/set_deleted/
POST /api/marketplace-offering-users/{uuid}/set_deleting/
POST /api/marketplace-offering-users/{uuid}/set_error_creating/
POST /api/marketplace-offering-users/{uuid}/set_error_deleting/
PATCH /api/marketplace-offering-users/{uuid}/update_comments/
POST /api/marketplace-provider-resources/{uuid}/pull/
POST /api/marketplace-resources/{uuid}/pull/
GET /api/projects/{uuid}/checklist/
GET /api/projects/{uuid}/completion_status/
POST /api/projects/{uuid}/submit_answers/
GET /api/proposal-proposals/{uuid}/checklist/
GET /api/proposal-proposals/{uuid}/checklist_review/
GET /api/proposal-proposals/{uuid}/completion_review_status/
GET /api/proposal-proposals/{uuid}/completion_status/
POST /api/proposal-proposals/{uuid}/submit_answers/
GET /api/proposal-protected-calls/{uuid}/compliance_overview/
GET /api/proposal-protected-calls/{uuid}/proposals/{proposal_uuid}/compliance-answers/
POST /api/proposal-protected-calls/{uuid}/review_proposal_compliance/
Deleted Endpoints: 73
GET /api/customers/{customer_uuid}/marketplace-checklists/
POST /api/customers/{customer_uuid}/marketplace-checklists/
GET /api/customers/{customer_uuid}/marketplace-checklists/{checklist_uuid}/
GET /api/marketplace-checklists-admin-question-dependencies/
HEAD /api/marketplace-checklists-admin-question-dependencies/
POST /api/marketplace-checklists-admin-question-dependencies/
DELETE /api/marketplace-checklists-admin-question-dependencies/{uuid}/
GET /api/marketplace-checklists-admin-question-dependencies/{uuid}/
PATCH /api/marketplace-checklists-admin-question-dependencies/{uuid}/
PUT /api/marketplace-checklists-admin-question-dependencies/{uuid}/
GET /api/marketplace-checklists-admin-question-options/
HEAD /api/marketplace-checklists-admin-question-options/
POST /api/marketplace-checklists-admin-question-options/
DELETE /api/marketplace-checklists-admin-question-options/{uuid}/
GET /api/marketplace-checklists-admin-question-options/{uuid}/
PATCH /api/marketplace-checklists-admin-question-options/{uuid}/
PUT /api/marketplace-checklists-admin-question-options/{uuid}/
GET /api/marketplace-checklists-admin-questions/
HEAD /api/marketplace-checklists-admin-questions/
POST /api/marketplace-checklists-admin-questions/
DELETE /api/marketplace-checklists-admin-questions/{uuid}/
GET /api/marketplace-checklists-admin-questions/{uuid}/
PATCH /api/marketplace-checklists-admin-questions/{uuid}/
PUT /api/marketplace-checklists-admin-questions/{uuid}/
GET /api/marketplace-checklists-admin/
HEAD /api/marketplace-checklists-admin/
POST /api/marketplace-checklists-admin/
DELETE /api/marketplace-checklists-admin/{uuid}/
GET /api/marketplace-checklists-admin/{uuid}/
PATCH /api/marketplace-checklists-admin/{uuid}/
PUT /api/marketplace-checklists-admin/{uuid}/
GET /api/marketplace-checklists-admin/{uuid}/questions/
GET /api/marketplace-checklists-categories/
GET /api/marketplace-checklists-categories/{category_uuid}/checklists/
GET /api/marketplace-checklists-categories/{uuid}/
GET /api/marketplace-checklists/
HEAD /api/marketplace-checklists/
GET /api/marketplace-checklists/{checklist_uuid}/answers/
POST /api/marketplace-checklists/{checklist_uuid}/answers/submit/
GET /api/marketplace-checklists/{checklist_uuid}/stats/
GET /api/marketplace-checklists/{checklist_uuid}/user/{user_uuid}/answers/
GET /api/marketplace-checklists/{uuid}/
GET /api/marketplace-checklists/{uuid}/questions/
GET /api/marketplace-maintenance-announcement-offerings/
HEAD /api/marketplace-maintenance-announcement-offerings/
POST /api/marketplace-maintenance-announcement-offerings/
DELETE /api/marketplace-maintenance-announcement-offerings/{uuid}/
GET /api/marketplace-maintenance-announcement-offerings/{uuid}/
PATCH /api/marketplace-maintenance-announcement-offerings/{uuid}/
PUT /api/marketplace-maintenance-announcement-offerings/{uuid}/
GET /api/marketplace-maintenance-announcement-template-offerings/
HEAD /api/marketplace-maintenance-announcement-template-offerings/
POST /api/marketplace-maintenance-announcement-template-offerings/
DELETE /api/marketplace-maintenance-announcement-template-offerings/{uuid}/
GET /api/marketplace-maintenance-announcement-template-offerings/{uuid}/
PATCH /api/marketplace-maintenance-announcement-template-offerings/{uuid}/
PUT /api/marketplace-maintenance-announcement-template-offerings/{uuid}/
GET /api/marketplace-maintenance-announcements-template/
HEAD /api/marketplace-maintenance-announcements-template/
POST /api/marketplace-maintenance-announcements-template/
DELETE /api/marketplace-maintenance-announcements-template/{uuid}/
GET /api/marketplace-maintenance-announcements-template/{uuid}/
PATCH /api/marketplace-maintenance-announcements-template/{uuid}/
PUT /api/marketplace-maintenance-announcements-template/{uuid}/
GET /api/marketplace-maintenance-announcements/
HEAD /api/marketplace-maintenance-announcements/
POST /api/marketplace-maintenance-announcements/
DELETE /api/marketplace-maintenance-announcements/{uuid}/
GET /api/marketplace-maintenance-announcements/{uuid}/
PATCH /api/marketplace-maintenance-announcements/{uuid}/
PUT /api/marketplace-maintenance-announcements/{uuid}/
GET /api/projects/{project_uuid}/marketplace-checklists/
GET /api/users/{user_uuid}/marketplace-checklist-stats/
Modified Endpoints: 337
HEAD /api/access-subnets/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'access_subnets_head' to 'access_subnets_count'
HEAD /api/admin-announcements/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'admin_announcements_head' to 'admin_announcements_count'
HEAD /api/auth-tokens/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'auth_tokens_head' to 'auth_tokens_count'
HEAD /api/autoprovisioning-rules/
- Description changed from 'Manage autoprovisioning rules.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'autoprovisioning_rules_head' to 'autoprovisioning_rules_count'
HEAD /api/aws-images/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'aws_images_head' to 'aws_images_count'
HEAD /api/aws-instances/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'aws_instances_head' to 'aws_instances_count'
HEAD /api/aws-regions/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'aws_regions_head' to 'aws_regions_count'
HEAD /api/aws-sizes/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'aws_sizes_head' to 'aws_sizes_count'
HEAD /api/aws-volumes/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'aws_volumes_head' to 'aws_volumes_count'
HEAD /api/azure-images/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'azure_images_head' to 'azure_images_count'
HEAD /api/azure-locations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'azure_locations_head' to 'azure_locations_count'
HEAD /api/azure-public-ips/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'azure_public_ips_head' to 'azure_public_ips_count'
HEAD /api/azure-resource-groups/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'azure_resource_groups_head' to 'azure_resource_groups_count'
HEAD /api/azure-sizes/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'azure_sizes_head' to 'azure_sizes_count'
HEAD /api/azure-sql-databases/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'azure_sql_databases_head' to 'azure_sql_databases_count'
HEAD /api/azure-sql-servers/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'azure_sql_servers_head' to 'azure_sql_servers_count'
HEAD /api/azure-virtualmachines/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'azure_virtualmachines_head' to 'azure_virtualmachines_count'
GET /api/backend-resource-requests/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: error_message
- New required property: error_traceback
- Properties changed
- New property: error_message
- New property: error_traceback
HEAD /api/backend-resource-requests/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'backend_resource_requests_head' to 'backend_resource_requests_count'
POST /api/backend-resource-requests/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: error_message
- New required property: error_traceback
- Properties changed
- New property: error_message
- New property: error_traceback
GET /api/backend-resource-requests/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: error_message
- New required property: error_traceback
- Properties changed
- New property: error_message
- New property: error_traceback
HEAD /api/backend-resources/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'backend_resources_head' to 'backend_resources_count'
POST /api/backend-resources/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/booking-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/booking-offerings/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'booking_offerings_head' to 'booking_offerings_count'
GET /api/booking-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/booking-resources/
- Modified query param: query
- Description changed from 'Query' to 'Search by resource UUID, name, backend ID, effective ID, IPs or hypervisor'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
HEAD /api/booking-resources/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'booking_resources_head' to 'booking_resources_count'
- Modified query param: query
- Description changed from 'Query' to 'Search by resource UUID, name, backend ID, effective ID, IPs or hypervisor'
GET /api/booking-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
HEAD /api/broadcast-message-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'broadcast_message_templates_head' to 'broadcast_message_templates_count'
HEAD /api/broadcast-messages/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'broadcast_messages_head' to 'broadcast_messages_count'
HEAD /api/broadcast-messages/recipients/
- Description changed from '' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'broadcast_messages_recipients_head' to 'broadcast_messages_recipients_count'
HEAD /api/call-managing-organisations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'call_managing_organisations_head' to 'call_managing_organisations_count'
HEAD /api/call-proposal-project-role-mappings/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'call_proposal_project_role_mappings_head' to 'call_proposal_project_role_mappings_count'
HEAD /api/call-rounds/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'call_rounds_head' to 'call_rounds_count'
HEAD /api/component-user-usage-limits/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'component_user_usage_limits_head' to 'component_user_usage_limits_count'
HEAD /api/customer-credits/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'customer_credits_head' to 'customer_credits_count'
HEAD /api/customer-permissions-reviews/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'customer_permissions_reviews_head' to 'customer_permissions_reviews_count'
HEAD /api/customer-quotas/
- Description changed from 'List customer quotas.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'customer_quotas_head' to 'customer_quotas_count'
GET /api/customers/
- Modified query param: query
- Description changed from '' to 'Filter by name, native name, abbreviation, domain, UUID, registration code or agreement number'
HEAD /api/customers/
-
Description changed from 'To get a list of customers, run GET against /api/customers/ as authenticated user. Note that a user can only see connected customers:
-
customers that the user owns
- customers that have a project where user has a role
Staff also can filter customers by user UUID, for example /api/customers/?user_uuid=
Staff also can filter customers by exists accounting_start_date, for example:
The first category: /api/customers/?accounting_is_running=True has accounting_start_date empty (i.e. accounting starts at once) has accounting_start_date in the past (i.e. has already started).
Those that are not in the first: /api/customers/?accounting_is_running=False # exists accounting_start_date' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'customers_head' to 'customers_count'
- Modified query param: query
- Description changed from '' to 'Filter by name, native name, abbreviation, domain, UUID, registration code or agreement number'
GET /api/customers/countries/
- Modified query param: query
- Description changed from '' to 'Filter by name, native name, abbreviation, domain, UUID, registration code or agreement number'
HEAD /api/customers/countries/
- Description changed from 'Return list of countries' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'customers_countries_head' to 'customers_countries_count'
- Modified query param: query
- Description changed from '' to 'Filter by name, native name, abbreviation, domain, UUID, registration code or agreement number'
HEAD /api/digitalocean-droplets/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'digitalocean_droplets_head' to 'digitalocean_droplets_count'
HEAD /api/digitalocean-images/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'digitalocean_images_head' to 'digitalocean_images_count'
HEAD /api/digitalocean-regions/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'digitalocean_regions_head' to 'digitalocean_regions_count'
HEAD /api/digitalocean-sizes/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'digitalocean_sizes_head' to 'digitalocean_sizes_count'
HEAD /api/email-logs/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'email_logs_head' to 'email_logs_count'
HEAD /api/event-subscriptions/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'event_subscriptions_head' to 'event_subscriptions_count'
HEAD /api/events-stats/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'events_stats_head' to 'events_stats_count'
HEAD /api/events/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'events_head' to 'events_count'
HEAD /api/events/count/
- Description changed from '' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'events_count_head' to 'events_count_count'
HEAD /api/events/event_groups/
- Description changed from 'Returns a list of groups with event types. Group is used in exclude_features query param.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'events_event_groups_head' to 'events_event_groups_count'
HEAD /api/events/scope_types/
- Description changed from 'Returns a list of scope types acceptable by events filter.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'events_scope_types_head' to 'events_scope_types_count'
GET /api/financial-reports/
- Modified query param: query
- Description changed from '' to 'Filter by name, native name, abbreviation, domain, UUID, registration code or agreement number'
HEAD /api/financial-reports/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'financial_reports_head' to 'financial_reports_count'
- Modified query param: query
- Description changed from '' to 'Filter by name, native name, abbreviation, domain, UUID, registration code or agreement number'
GET /api/freeipa-profiles/
- Modified query param: query
- Description changed from '' to 'Filter by username, user UUID, first name or last name'
HEAD /api/freeipa-profiles/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'freeipa_profiles_head' to 'freeipa_profiles_count'
- Modified query param: query
- Description changed from '' to 'Filter by username, user UUID, first name or last name'
HEAD /api/google-auth/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'google_auth_head' to 'google_auth_count'
HEAD /api/google-auth/callback/
- Description changed from 'Callback endpoint for Google authorization.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'google_auth_callback_head' to 'google_auth_callback_count'
GET /api/hooks-email/
- Modified query param: query
- Description changed from '' to 'Filter by author name, username and email'
HEAD /api/hooks-email/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'hooks_email_head' to 'hooks_email_count'
- Modified query param: query
- Description changed from '' to 'Filter by author name, username and email'
GET /api/hooks-web/
- Modified query param: query
- Description changed from '' to 'Filter by author name, username and email'
HEAD /api/hooks-web/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'hooks_web_head' to 'hooks_web_count'
- Modified query param: query
- Description changed from '' to 'Filter by author name, username and email'
HEAD /api/hooks/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'hooks_head' to 'hooks_count'
HEAD /api/identity-providers/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'identity_providers_head' to 'identity_providers_count'
GET /api/invoice-items/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/invoice-items/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'invoice_items_head' to 'invoice_items_count'
HEAD /api/invoice-items/costs/
- Description changed from 'Get costs breakdown for a project by year and month.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'invoice_items_costs_head' to 'invoice_items_costs_count'
HEAD /api/invoice-items/customer_costs_for_period/
- Description changed from '' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'invoice_items_customer_costs_for_period_head' to 'invoice_items_customer_costs_for_period_count'
HEAD /api/invoice-items/project_costs_for_period/
- Description changed from 'Get resource cost breakdown for a project over a specified period.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'invoice_items_project_costs_for_period_head' to 'invoice_items_project_costs_for_period_count'
HEAD /api/invoice-items/total_price/
- Description changed from 'Calculate total price for filtered invoice items.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'invoice_items_total_price_head' to 'invoice_items_total_price_count'
GET /api/invoice-items/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/invoice-items/{uuid}/consumptions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/invoices/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: items
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/invoices/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'invoices_head' to 'invoices_count'
HEAD /api/invoices/growth/
- Description changed from 'Analyze invoice trends over time by comparing monthly totals for major customers versus others over the past year.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'invoices_growth_head' to 'invoices_growth_count'
GET /api/invoices/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: items
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/invoices/{uuid}/items/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
POST /api/invoices/{uuid}/paid/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: items
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/keycloak-groups/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'keycloak_groups_head' to 'keycloak_groups_count'
HEAD /api/keycloak-user-group-memberships/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'keycloak_user_group_memberships_head' to 'keycloak_user_group_memberships_count'
HEAD /api/keys/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'keys_head' to 'keys_count'
GET /api/lexis-links/
- Modified query param: query
- Description changed from '' to 'Filter by robot account username or type'
HEAD /api/lexis-links/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'lexis_links_head' to 'lexis_links_count'
- Modified query param: query
- Description changed from '' to 'Filter by robot account username or type'
HEAD /api/marketplace-categories/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_categories_head' to 'marketplace_categories_count'
HEAD /api/marketplace-category-columns/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_category_columns_head' to 'marketplace_category_columns_count'
HEAD /api/marketplace-category-component-usages/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_category_component_usages_head' to 'marketplace_category_component_usages_count'
HEAD /api/marketplace-category-components/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_category_components_head' to 'marketplace_category_components_count'
HEAD /api/marketplace-category-groups/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_category_groups_head' to 'marketplace_category_groups_count'
HEAD /api/marketplace-category-help-articles/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_category_help_articles_head' to 'marketplace_category_help_articles_count'
HEAD /api/marketplace-component-usages/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_component_usages_head' to 'marketplace_component_usages_count'
HEAD /api/marketplace-component-user-usages/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_component_user_usages_head' to 'marketplace_component_user_usages_count'
HEAD /api/marketplace-customer-estimated-cost-policies/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_customer_estimated_cost_policies_head' to 'marketplace_customer_estimated_cost_policies_count'
HEAD /api/marketplace-customer-estimated-cost-policies/actions/
- Description changed from '' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_customer_estimated_cost_policies_actions_head' to 'marketplace_customer_estimated_cost_policies_actions_count'
HEAD /api/marketplace-customer-service-accounts/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_customer_service_accounts_head' to 'marketplace_customer_service_accounts_count'
HEAD /api/marketplace-integration-statuses/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_integration_statuses_head' to 'marketplace_integration_statuses_count'
HEAD /api/marketplace-offering-estimated-cost-policies/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_offering_estimated_cost_policies_head' to 'marketplace_offering_estimated_cost_policies_count'
HEAD /api/marketplace-offering-estimated-cost-policies/actions/
- Description changed from 'List available actions for OfferingEstimatedCostPolicy' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_offering_estimated_cost_policies_actions_head' to 'marketplace_offering_estimated_cost_policies_actions_count'
HEAD /api/marketplace-offering-files/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_offering_files_head' to 'marketplace_offering_files_count'
HEAD /api/marketplace-offering-permissions-log/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_offering_permissions_log_head' to 'marketplace_offering_permissions_log_count'
HEAD /api/marketplace-offering-permissions/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_offering_permissions_head' to 'marketplace_offering_permissions_count'
HEAD /api/marketplace-offering-referrals/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_offering_referrals_head' to 'marketplace_offering_referrals_count'
HEAD /api/marketplace-offering-usage-policies/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_offering_usage_policies_head' to 'marketplace_offering_usage_policies_count'
HEAD /api/marketplace-offering-usage-policies/actions/
- Description changed from '' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_offering_usage_policies_actions_head' to 'marketplace_offering_usage_policies_actions_count'
HEAD /api/marketplace-offering-user-roles/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_offering_user_roles_head' to 'marketplace_offering_user_roles_count'
GET /api/marketplace-offering-users/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [service_provider_comment_url]
- Modified query param: query
- Description changed from '' to 'Search by offering name, username or user name'
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Error creating Error deleting]
- Deleted enum values: [Error]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: service_provider_comment_url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingUserStateEnum
- New enum values: [Error creating Error deleting]
- Deleted enum values: [Error]
HEAD /api/marketplace-offering-users/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_offering_users_head' to 'marketplace_offering_users_count'
- Modified query param: query
- Description changed from '' to 'Search by offering name, username or user name'
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Error creating Error deleting]
- Deleted enum values: [Error]
POST /api/marketplace-offering-users/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_provider_comment_url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingUserStateEnum
- New enum values: [Error creating Error deleting]
- Deleted enum values: [Error]
GET /api/marketplace-offering-users/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [service_provider_comment_url]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_provider_comment_url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingUserStateEnum
- New enum values: [Error creating Error deleting]
- Deleted enum values: [Error]
PATCH /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_provider_comment_url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingUserStateEnum
- New enum values: [Error creating Error deleting]
- Deleted enum values: [Error]
PUT /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: service_provider_comment_url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingUserStateEnum
- New enum values: [Error creating Error deleting]
- Deleted enum values: [Error]
POST /api/marketplace-offering-users/{uuid}/set_pending_account_linking/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: comment_url
POST /api/marketplace-offering-users/{uuid}/set_pending_additional_validation/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: comment_url
GET /api/marketplace-orders/
- Modified query param: query
- Description changed from '' to 'Search by order UUID, project name or resource name'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
HEAD /api/marketplace-orders/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_orders_head' to 'marketplace_orders_count'
- Modified query param: query
- Description changed from '' to 'Search by order UUID, project name or resource name'
POST /api/marketplace-orders/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/marketplace-orders/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/marketplace-plan-components/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
HEAD /api/marketplace-plan-components/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_plan_components_head' to 'marketplace_plan_components_count'
GET /api/marketplace-plan-components/{id}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/marketplace-plans/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/marketplace-plans/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_plans_head' to 'marketplace_plans_count'
POST /api/marketplace-plans/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/marketplace-plans/usage_stats/
- Description changed from '' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_plans_usage_stats_head' to 'marketplace_plans_usage_stats_count'
GET /api/marketplace-plans/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
PATCH /api/marketplace-plans/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
PUT /api/marketplace-plans/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/marketplace-project-estimated-cost-policies/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_project_estimated_cost_policies_head' to 'marketplace_project_estimated_cost_policies_count'
HEAD /api/marketplace-project-estimated-cost-policies/actions/
- Description changed from '' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_project_estimated_cost_policies_actions_head' to 'marketplace_project_estimated_cost_policies_actions_count'
HEAD /api/marketplace-project-service-accounts/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_project_service_accounts_head' to 'marketplace_project_service_accounts_count'
HEAD /api/marketplace-project-update-requests/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_project_update_requests_head' to 'marketplace_project_update_requests_count'
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/marketplace-provider-offerings/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_provider_offerings_head' to 'marketplace_provider_offerings_count'
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/marketplace-provider-offerings/groups/
- Description changed from '' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_provider_offerings_groups_head' to 'marketplace_provider_offerings_groups_count'
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
POST /api/marketplace-provider-offerings/{uuid}/create_offering_component/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: additional_details
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: end_date_requested_by
- ReadOnly changed from false to true
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
POST /api/marketplace-provider-offerings/{uuid}/update_offering_component/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/marketplace-provider-resources/
- Modified query param: query
- Description changed from 'Query' to 'Search by resource UUID, name, backend ID, effective ID, IPs or hypervisor'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
HEAD /api/marketplace-provider-resources/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_provider_resources_head' to 'marketplace_provider_resources_count'
- Modified query param: query
- Description changed from 'Query' to 'Search by resource UUID, name, backend ID, effective ID, IPs or hypervisor'
GET /api/marketplace-provider-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/marketplace-provider-resources/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/marketplace-public-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/marketplace-public-offerings/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_public_offerings_head' to 'marketplace_public_offerings_count'
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/marketplace-public-offerings/{uuid}/plans/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/marketplace-public-offerings/{uuid}/plans/{plan_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/marketplace-remote-synchronisations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_remote_synchronisations_head' to 'marketplace_remote_synchronisations_count'
HEAD /api/marketplace-resource-users/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_resource_users_head' to 'marketplace_resource_users_count'
GET /api/marketplace-resources/
- Modified query param: query
- Description changed from 'Query' to 'Search by resource UUID, name, backend ID, effective ID, IPs or hypervisor'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
HEAD /api/marketplace-resources/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_resources_head' to 'marketplace_resources_count'
- Modified query param: query
- Description changed from 'Query' to 'Search by resource UUID, name, backend ID, effective ID, IPs or hypervisor'
GET /api/marketplace-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/marketplace-resources/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/marketplace-robot-accounts/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_robot_accounts_head' to 'marketplace_robot_accounts_count'
HEAD /api/marketplace-screenshots/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_screenshots_head' to 'marketplace_screenshots_count'
HEAD /api/marketplace-script-async-dry-run/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_script_async_dry_run_head' to 'marketplace_script_async_dry_run_count'
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/marketplace-sections/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_sections_head' to 'marketplace_sections_count'
HEAD /api/marketplace-service-providers/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_service_providers_head' to 'marketplace_service_providers_count'
GET /api/marketplace-service-providers/{service_provider_uuid}/customer_projects/
- Modified query param: query
- Description changed from '' to 'Filter by name, UUID, backend ID or resource effective ID'
GET /api/marketplace-service-providers/{service_provider_uuid}/customers/
- Modified query param: query
- Description changed from '' to 'Filter by name, native name, abbreviation, domain, UUID, registration code or agreement number'
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plans
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- Modified query param: query
- Description changed from '' to 'Filter by name, UUID, backend ID or resource effective ID'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: end_date_requested_by
- ReadOnly changed from false to true
GET /api/marketplace-service-providers/{service_provider_uuid}/user_customers/
- Modified query param: query
- Description changed from '' to 'Filter by name, native name, abbreviation, domain, UUID, registration code or agreement number'
GET /api/marketplace-service-providers/{service_provider_uuid}/users/
- Modified query param: query
- Description changed from '' to 'Filter by first name, last name, civil number, username or email'
HEAD /api/marketplace-stats/component_usages/
- Description changed from 'Return component usages for current month.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_component_usages_head' to 'marketplace_stats_component_usages_count'
HEAD /api/marketplace-stats/component_usages_per_month/
- Description changed from 'Return component usages per month.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_component_usages_per_month_head' to 'marketplace_stats_component_usages_per_month_count'
HEAD /api/marketplace-stats/component_usages_per_project/
- Description changed from 'Return component usages per project.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_component_usages_per_project_head' to 'marketplace_stats_component_usages_per_project_count'
HEAD /api/marketplace-stats/count_active_resources_grouped_by_offering/
- Description changed from 'Count active resources grouped by offering.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_count_active_resources_grouped_by_offering_head' to 'marketplace_stats_count_active_resources_grouped_by_offering_count'
HEAD /api/marketplace-stats/count_active_resources_grouped_by_offering_country/
- Description changed from 'Count active resources grouped by offering country.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_count_active_resources_grouped_by_offering_country_head' to 'marketplace_stats_count_active_resources_grouped_by_offering_country_count'
HEAD /api/marketplace-stats/count_active_resources_grouped_by_organization_group/
- Description changed from 'Count active resources grouped by organization group.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_count_active_resources_grouped_by_organization_group_head' to 'marketplace_stats_count_active_resources_grouped_by_organization_group_count'
HEAD /api/marketplace-stats/count_projects_grouped_by_provider_and_industry_flag/
- Description changed from 'Count projects grouped by provider and industry flag' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_count_projects_grouped_by_provider_and_industry_flag_head' to 'marketplace_stats_count_projects_grouped_by_provider_and_industry_flag_count'
HEAD /api/marketplace-stats/count_projects_grouped_by_provider_and_oecd/
- Description changed from 'Count projects grouped by provider and OECD code' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_count_projects_grouped_by_provider_and_oecd_head' to 'marketplace_stats_count_projects_grouped_by_provider_and_oecd_count'
HEAD /api/marketplace-stats/count_projects_of_service_providers/
- Description changed from 'Count projects of service providers.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_count_projects_of_service_providers_head' to 'marketplace_stats_count_projects_of_service_providers_count'
HEAD /api/marketplace-stats/count_projects_of_service_providers_grouped_by_oecd/
- Description changed from 'Count projects of service providers grouped by OECD.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_count_projects_of_service_providers_grouped_by_oecd_head' to 'marketplace_stats_count_projects_of_service_providers_grouped_by_oecd_count'
HEAD /api/marketplace-stats/count_unique_users_connected_with_active_resources_of_service_provider/
- Description changed from 'Count unique users connected with active resources of service provider.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_count_unique_users_connected_with_active_resources_of_service_provider_head' to 'marketplace_stats_count_unique_users_connected_with_active_resources_of_service_provider_count'
HEAD /api/marketplace-stats/count_users_of_service_providers/
- Description changed from 'Count users of service providers.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_count_users_of_service_providers_head' to 'marketplace_stats_count_users_of_service_providers_count'
HEAD /api/marketplace-stats/customer_member_count/
- Description changed from 'Return count of customer members.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_customer_member_count_head' to 'marketplace_stats_customer_member_count_count'
HEAD /api/marketplace-stats/offerings_counter_stats/
- Description changed from 'Retrieve statistics about the number of offerings, grouped by category and service provider.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_offerings_counter_stats_head' to 'marketplace_stats_offerings_counter_stats_count'
HEAD /api/marketplace-stats/organization_project_count/
- Description changed from 'Return project count per organization.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_organization_project_count_head' to 'marketplace_stats_organization_project_count_count'
HEAD /api/marketplace-stats/organization_resource_count/
- Description changed from 'Return resource count per organization.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_organization_resource_count_head' to 'marketplace_stats_organization_resource_count_count'
HEAD /api/marketplace-stats/projects_limits_grouped_by_industry_flag/
- Description changed from 'Group project limits by industry flag.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_projects_limits_grouped_by_industry_flag_head' to 'marketplace_stats_projects_limits_grouped_by_industry_flag_count'
HEAD /api/marketplace-stats/projects_limits_grouped_by_oecd/
- Description changed from 'Group project limits by OECD code.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_projects_limits_grouped_by_oecd_head' to 'marketplace_stats_projects_limits_grouped_by_oecd_count'
HEAD /api/marketplace-stats/projects_usages_grouped_by_industry_flag/
- Description changed from 'Group project usages by industry flag.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_projects_usages_grouped_by_industry_flag_head' to 'marketplace_stats_projects_usages_grouped_by_industry_flag_count'
HEAD /api/marketplace-stats/projects_usages_grouped_by_oecd/
- Description changed from 'Group project usages by OECD code.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_projects_usages_grouped_by_oecd_head' to 'marketplace_stats_projects_usages_grouped_by_oecd_count'
HEAD /api/marketplace-stats/resources_limits/
- Description changed from 'Return resources limits per offering.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_resources_limits_head' to 'marketplace_stats_resources_limits_count'
HEAD /api/marketplace-stats/total_cost_of_active_resources_per_offering/
- Description changed from 'Total cost of active resources per offering.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'marketplace_stats_total_cost_of_active_resources_per_offering_head' to 'marketplace_stats_total_cost_of_active_resources_per_offering_count'
HEAD /api/notification-messages-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'notification_messages_templates_head' to 'notification_messages_templates_count'
GET /api/notification-messages/
- Modified query param: query
- Description changed from '' to 'Filter by key or description'
HEAD /api/notification-messages/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'notification_messages_head' to 'notification_messages_count'
- Modified query param: query
- Description changed from '' to 'Filter by key or description'
HEAD /api/openstack-backups/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_backups_head' to 'openstack_backups_count'
HEAD /api/openstack-flavors/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_flavors_head' to 'openstack_flavors_count'
HEAD /api/openstack-flavors/usage_stats/
- Description changed from '' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_flavors_usage_stats_head' to 'openstack_flavors_usage_stats_count'
HEAD /api/openstack-floating-ips/
- Description changed from 'Status DOWN means that floating IP is not linked to a VM, status ACTIVE means that it is in use.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_floating_ips_head' to 'openstack_floating_ips_count'
HEAD /api/openstack-images/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_images_head' to 'openstack_images_count'
HEAD /api/openstack-images/usage_stats/
- Description changed from '' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_images_usage_stats_head' to 'openstack_images_usage_stats_count'
HEAD /api/openstack-instance-availability-zones/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_instance_availability_zones_head' to 'openstack_instance_availability_zones_count'
GET /api/openstack-instances/
- Modified query param: query
- Description changed from '' to 'Search by name, internal IP, or external IP'
HEAD /api/openstack-instances/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_instances_head' to 'openstack_instances_count'
- Modified query param: query
- Description changed from '' to 'Search by name, internal IP, or external IP'
HEAD /api/openstack-marketplace-tenants/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_marketplace_tenants_head' to 'openstack_marketplace_tenants_count'
HEAD /api/openstack-migrations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_migrations_head' to 'openstack_migrations_count'
HEAD /api/openstack-network-rbac-policies/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_network_rbac_policies_head' to 'openstack_network_rbac_policies_count'
HEAD /api/openstack-networks/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_networks_head' to 'openstack_networks_count'
GET /api/openstack-ports/
- Modified query param: query
- Description changed from 'Query' to 'Search by name, MAC address or backend ID'
HEAD /api/openstack-ports/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_ports_head' to 'openstack_ports_count'
- Modified query param: query
- Description changed from 'Query' to 'Search by name, MAC address or backend ID'
HEAD /api/openstack-routers/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_routers_head' to 'openstack_routers_count'
GET /api/openstack-security-groups/
- Modified query param: query
- Description changed from '' to 'Search by name or description'
HEAD /api/openstack-security-groups/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_security_groups_head' to 'openstack_security_groups_count'
- Modified query param: query
- Description changed from '' to 'Search by name or description'
HEAD /api/openstack-server-groups/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_server_groups_head' to 'openstack_server_groups_count'
HEAD /api/openstack-snapshots/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_snapshots_head' to 'openstack_snapshots_count'
HEAD /api/openstack-subnets/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_subnets_head' to 'openstack_subnets_count'
HEAD /api/openstack-tenants/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_tenants_head' to 'openstack_tenants_count'
HEAD /api/openstack-volume-availability-zones/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_volume_availability_zones_head' to 'openstack_volume_availability_zones_count'
HEAD /api/openstack-volume-types/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_volume_types_head' to 'openstack_volume_types_count'
HEAD /api/openstack-volume-types/names/
- Description changed from 'Return a list of unique volume type names.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_volume_types_names_head' to 'openstack_volume_types_names_count'
HEAD /api/openstack-volumes/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'openstack_volumes_head' to 'openstack_volumes_count'
HEAD /api/organization-groups/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'organization_groups_head' to 'organization_groups_count'
HEAD /api/payment-profiles/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'payment_profiles_head' to 'payment_profiles_count'
HEAD /api/payments/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'payments_head' to 'payments_count'
HEAD /api/project-credits/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'project_credits_head' to 'project_credits_count'
HEAD /api/project-quotas/
- Description changed from 'List project quotas.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'project_quotas_head' to 'project_quotas_count'
HEAD /api/project-types/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'project_types_head' to 'project_types_count'
GET /api/projects/
- Modified query param: query
- Description changed from '' to 'Filter by name, UUID, backend ID or resource effective ID'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: end_date_requested_by
- ReadOnly changed from false to true
HEAD /api/projects/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'projects_head' to 'projects_count'
- Modified query param: query
- Description changed from '' to 'Filter by name, UUID, backend ID or resource effective ID'
POST /api/projects/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: end_date_requested_by
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: end_date_requested_by
- ReadOnly changed from false to true
GET /api/projects/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: end_date_requested_by
- ReadOnly changed from false to true
PATCH /api/projects/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: end_date_requested_by
- ReadOnly changed from false to true
PUT /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: end_date_requested_by
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: end_date_requested_by
- ReadOnly changed from false to true
POST /api/projects/{uuid}/move_project/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: end_date_requested_by
- ReadOnly changed from false to true
GET /api/promotions-campaigns/
- Modified query param: query
- Description changed from '' to 'Search by name or coupon code'
HEAD /api/promotions-campaigns/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'promotions_campaigns_head' to 'promotions_campaigns_count'
- Modified query param: query
- Description changed from '' to 'Search by name or coupon code'
GET /api/promotions-campaigns/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
- Modified property: plan_unit
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BillingUnit
- New enum values: [quarter]
GET /api/proposal-proposals/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: can_submit
- New required property: compliance_status
- Properties changed
- New property: can_submit
- New property: compliance_status
HEAD /api/proposal-proposals/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'proposal_proposals_head' to 'proposal_proposals_count'
POST /api/proposal-proposals/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: can_submit
- New required property: compliance_status
- Properties changed
- New property: can_submit
- New property: compliance_status
GET /api/proposal-proposals/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: can_submit
- New required property: compliance_status
- Properties changed
- New property: can_submit
- New property: compliance_status
GET /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
POST /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
PATCH /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
PUT /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/proposal-protected-calls/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compliance_checklist compliance_checklist_name]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: compliance_checklist
- New property: compliance_checklist_name
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/proposal-protected-calls/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'proposal_protected_calls_head' to 'proposal_protected_calls_count'
POST /api/proposal-protected-calls/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- New property: compliance_checklist_name
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/proposal-protected-calls/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compliance_checklist compliance_checklist_name]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- New property: compliance_checklist_name
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
PATCH /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- New property: compliance_checklist_name
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
PUT /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- New property: compliance_checklist_name
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
POST /api/proposal-protected-calls/{uuid}/activate/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/proposal-protected-calls/{uuid}/archive/
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
GET /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
POST /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
PATCH /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
PUT /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/proposal-protected-calls/{uuid}/resource_templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
POST /api/proposal-protected-calls/{uuid}/resource_templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
PATCH /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
PUT /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- New property: compliance_checklist_name
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/proposal-public-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/proposal-public-calls/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'proposal_public_calls_head' to 'proposal_public_calls_count'
GET /api/proposal-public-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/proposal-requested-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/proposal-requested-offerings/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'proposal_requested_offerings_head' to 'proposal_requested_offerings_count'
GET /api/proposal-requested-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
GET /api/proposal-requested-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/proposal-requested-resources/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'proposal_requested_resources_head' to 'proposal_requested_resources_count'
GET /api/proposal-requested-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: limit_period
- Property 'OneOf' changed
- Modified schema: #/components/schemas/LimitPeriodEnum
- New enum values: [quarterly]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/proposal-reviews/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'proposal_reviews_head' to 'proposal_reviews_count'
GET /api/provider-invoice-items/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/provider-invoice-items/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'provider_invoice_items_head' to 'provider_invoice_items_count'
GET /api/provider-invoice-items/{id}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: unit
- New enum values: [quarter]
HEAD /api/rancher-apps/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_apps_head' to 'rancher_apps_count'
HEAD /api/rancher-catalogs/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_catalogs_head' to 'rancher_catalogs_count'
HEAD /api/rancher-cluster-security-groups/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_cluster_security_groups_head' to 'rancher_cluster_security_groups_count'
HEAD /api/rancher-cluster-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_cluster_templates_head' to 'rancher_cluster_templates_count'
HEAD /api/rancher-clusters/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_clusters_head' to 'rancher_clusters_count'
HEAD /api/rancher-hpas/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_hpas_head' to 'rancher_hpas_count'
HEAD /api/rancher-ingresses/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_ingresses_head' to 'rancher_ingresses_count'
HEAD /api/rancher-namespaces/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_namespaces_head' to 'rancher_namespaces_count'
HEAD /api/rancher-nodes/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_nodes_head' to 'rancher_nodes_count'
HEAD /api/rancher-projects/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_projects_head' to 'rancher_projects_count'
HEAD /api/rancher-role-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_role_templates_head' to 'rancher_role_templates_count'
HEAD /api/rancher-services/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_services_head' to 'rancher_services_count'
HEAD /api/rancher-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_templates_head' to 'rancher_templates_count'
HEAD /api/rancher-users/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_users_head' to 'rancher_users_count'
HEAD /api/rancher-workloads/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'rancher_workloads_head' to 'rancher_workloads_count'
HEAD /api/roles/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'roles_head' to 'roles_count'
HEAD /api/service-settings/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'service_settings_head' to 'service_settings_count'
HEAD /api/slurm-allocation-user-usage/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'slurm_allocation_user_usage_head' to 'slurm_allocation_user_usage_count'
HEAD /api/slurm-allocations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'slurm_allocations_head' to 'slurm_allocations_count'
HEAD /api/slurm-associations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'slurm_associations_head' to 'slurm_associations_count'
HEAD /api/slurm-jobs/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'slurm_jobs_head' to 'slurm_jobs_count'
HEAD /api/support-attachments/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'support_attachments_head' to 'support_attachments_count'
HEAD /api/support-comments/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'support_comments_head' to 'support_comments_count'
HEAD /api/support-feedbacks/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'support_feedbacks_head' to 'support_feedbacks_count'
HEAD /api/support-issues/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'support_issues_head' to 'support_issues_count'
HEAD /api/support-priorities/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'support_priorities_head' to 'support_priorities_count'
HEAD /api/support-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'support_templates_head' to 'support_templates_count'
HEAD /api/support-users/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'support_users_head' to 'support_users_count'
HEAD /api/user-agreements/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'user_agreements_head' to 'user_agreements_count'
HEAD /api/user-group-invitations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'user_group_invitations_head' to 'user_group_invitations_count'
HEAD /api/user-invitations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'user_invitations_head' to 'user_invitations_count'
HEAD /api/user-permission-requests/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'user_permission_requests_head' to 'user_permission_requests_count'
HEAD /api/user-permissions/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'user_permissions_head' to 'user_permissions_count'
GET /api/users/
- Modified query param: query
- Description changed from '' to 'Filter by first name, last name, civil number, username or email'
HEAD /api/users/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'users_head' to 'users_count'
- Modified query param: query
- Description changed from '' to 'Filter by first name, last name, civil number, username or email'
HEAD /api/users/me/
- Description changed from 'Get current user details, including authentication token.' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'users_me_head' to 'users_me_count'
HEAD /api/vmware-clusters/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'vmware_clusters_head' to 'vmware_clusters_count'
HEAD /api/vmware-datastores/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'vmware_datastores_head' to 'vmware_datastores_count'
HEAD /api/vmware-disks/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'vmware_disks_head' to 'vmware_disks_count'
HEAD /api/vmware-folders/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'vmware_folders_head' to 'vmware_folders_count'
HEAD /api/vmware-networks/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'vmware_networks_head' to 'vmware_networks_count'
HEAD /api/vmware-ports/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'vmware_ports_head' to 'vmware_ports_count'
HEAD /api/vmware-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'vmware_templates_head' to 'vmware_templates_count'
HEAD /api/vmware-virtual-machine/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get number of items in the collection matching the request parameters.'
- OperationID changed from 'vmware_virtual_machine_head' to 'vmware_virtual_machine_count'
OpenAPI schema diff - 7.7.6
For version 7.7.6
New Endpoints: 11
GET /api/marketplace-offering-users/{uuid}/checklist/
GET /api/marketplace-offering-users/{uuid}/checklist_review/
GET /api/marketplace-offering-users/{uuid}/completion_review_status/
GET /api/marketplace-offering-users/{uuid}/completion_status/
POST /api/marketplace-offering-users/{uuid}/submit_answers/
GET /api/marketplace-service-providers/{service_provider_uuid}/compliance/compliance_overview/
GET /api/marketplace-service-providers/{service_provider_uuid}/compliance/offering_users/
GET /api/marketplace-service-providers/{service_provider_uuid}/project_service_accounts/
GET /api/public-maintenance-announcements/
HEAD /api/public-maintenance-announcements/
GET /api/public-maintenance-announcements/{uuid}/
Deleted Endpoints: None
Modified Endpoints: 130
GET /api/admin-announcements/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [maintenance_affected_offerings maintenance_name maintenance_scheduled_end maintenance_scheduled_start maintenance_service_provider maintenance_state maintenance_type maintenance_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: maintenance_affected_offerings
- New property: maintenance_name
- New property: maintenance_scheduled_end
- New property: maintenance_scheduled_start
- New property: maintenance_service_provider
- New property: maintenance_state
- New property: maintenance_type
- New property: maintenance_uuid
POST /api/admin-announcements/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: maintenance_affected_offerings
- New property: maintenance_name
- New property: maintenance_scheduled_end
- New property: maintenance_scheduled_start
- New property: maintenance_service_provider
- New property: maintenance_state
- New property: maintenance_type
- New property: maintenance_uuid
GET /api/admin-announcements/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [maintenance_affected_offerings maintenance_name maintenance_scheduled_end maintenance_scheduled_start maintenance_service_provider maintenance_state maintenance_type maintenance_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: maintenance_affected_offerings
- New property: maintenance_name
- New property: maintenance_scheduled_end
- New property: maintenance_scheduled_start
- New property: maintenance_service_provider
- New property: maintenance_state
- New property: maintenance_type
- New property: maintenance_uuid
PATCH /api/admin-announcements/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: maintenance_affected_offerings
- New property: maintenance_name
- New property: maintenance_scheduled_end
- New property: maintenance_scheduled_start
- New property: maintenance_service_provider
- New property: maintenance_state
- New property: maintenance_type
- New property: maintenance_uuid
PUT /api/admin-announcements/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: maintenance_affected_offerings
- New property: maintenance_name
- New property: maintenance_scheduled_end
- New property: maintenance_scheduled_start
- New property: maintenance_service_provider
- New property: maintenance_state
- New property: maintenance_type
- New property: maintenance_uuid
GET /api/booking-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_compliance_requirements]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: has_compliance_requirements
GET /api/booking-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_compliance_requirements]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
GET /api/customers/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [organization_groups users_count]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: organization_groups
- Deleted property: users_count
POST /api/customers/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: organization_groups
- Deleted property: users_count
GET /api/customers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [organization_groups users_count]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: organization_groups
- Deleted property: users_count
PATCH /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: organization_groups
- Deleted property: users_count
PUT /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: organization_groups
- Deleted property: users_count
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: attributes
- Property 'OneOf' changed
- Schemas added: #/components/schemas/AzureVirtualMachineCreateOrderAttributes, #/components/schemas/AzureSQLServerCreateOrderAttributes, #/components/schemas/OpenStackTenantCreateOrderAttributes, #/components/schemas/OpenStackInstanceCreateOrderAttributes, #/components/schemas/OpenStackVolumeCreateOrderAttributes, #/components/schemas/MarketplaceRancherCreateOrderAttributes, #/components/schemas/MarketplaceManagedRancherCreateOrderAttributes, #/components/schemas/SlurmInvoicesSlurmPackageCreateOrderAttributes, #/components/schemas/VMwareVirtualMachineCreateOrderAttributes
- Description changed from '' to 'Attributes structure depends on the offering type specified in the parent object'
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
GET /api/marketplace-project-update-requests/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: review_comment
- Description changed from '' to 'Optional comment provided during review'
- Modified property: reviewed_at
- Description changed from '' to 'Timestamp when the review was completed'
GET /api/marketplace-project-update-requests/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: review_comment
- Description changed from '' to 'Optional comment provided during review'
- Modified property: reviewed_at
- Description changed from '' to 'Timestamp when the review was completed'
GET /api/marketplace-provider-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_compliance_requirements]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: has_compliance_requirements
POST /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: has_compliance_requirements
- Properties changed
- New property: has_compliance_requirements
GET /api/marketplace-provider-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_compliance_requirements]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_compliance_requirements]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_compliance_requirements]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_compliance_requirements]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_compliance_requirements]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
GET /api/marketplace-public-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_compliance_requirements]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: has_compliance_requirements
GET /api/marketplace-public-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_compliance_requirements]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
GET /api/marketplace-robot-accounts/
- New query param: field
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- Deleted required property: backend_id
- Deleted required property: created
- Deleted required property: customer_name
- Deleted required property: customer_uuid
- Deleted required property: fingerprints
- Deleted required property: modified
- Deleted required property: offering_customer_uuid
- Deleted required property: offering_plugin_options
- Deleted required property: project_name
- Deleted required property: project_uuid
- Deleted required property: resource
- Deleted required property: resource_name
- Deleted required property: resource_uuid
- Deleted required property: responsible_user
- Deleted required property: type
- Deleted required property: url
- Deleted required property: user_keys
- Deleted required property: users
- Deleted required property: uuid
- Properties changed
- Modified property: fingerprints
- Items changed
- Required changed
- Deleted required property: md5
- Deleted required property: sha256
- Deleted required property: sha512
- Modified property: responsible_user
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasicUser
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
- Modified property: users
- Items changed
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
POST /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Required changed
- Deleted required property: md5
- Deleted required property: sha256
- Deleted required property: sha512
GET /api/marketplace-robot-accounts/{uuid}/
- New query param: field
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: backend_id
- Deleted required property: created
- Deleted required property: customer_name
- Deleted required property: customer_uuid
- Deleted required property: fingerprints
- Deleted required property: modified
- Deleted required property: offering_customer_uuid
- Deleted required property: offering_plugin_options
- Deleted required property: project_name
- Deleted required property: project_uuid
- Deleted required property: resource
- Deleted required property: resource_name
- Deleted required property: resource_uuid
- Deleted required property: responsible_user
- Deleted required property: type
- Deleted required property: url
- Deleted required property: user_keys
- Deleted required property: users
- Deleted required property: uuid
- Properties changed
- Modified property: fingerprints
- Items changed
- Required changed
- Deleted required property: md5
- Deleted required property: sha256
- Deleted required property: sha512
- Modified property: responsible_user
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasicUser
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
- Modified property: users
- Items changed
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
PATCH /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Required changed
- Deleted required property: md5
- Deleted required property: sha256
- Deleted required property: sha512
PUT /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Required changed
- Deleted required property: md5
- Deleted required property: sha256
- Deleted required property: sha512
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: backend_id
- Deleted required property: created
- Deleted required property: customer_name
- Deleted required property: customer_uuid
- Deleted required property: fingerprints
- Deleted required property: modified
- Deleted required property: offering_customer_uuid
- Deleted required property: offering_plugin_options
- Deleted required property: project_name
- Deleted required property: project_uuid
- Deleted required property: resource
- Deleted required property: resource_name
- Deleted required property: resource_uuid
- Deleted required property: responsible_user
- Deleted required property: type
- Deleted required property: url
- Deleted required property: user_keys
- Deleted required property: users
- Deleted required property: uuid
- Properties changed
- Modified property: fingerprints
- Items changed
- Required changed
- Deleted required property: md5
- Deleted required property: sha256
- Deleted required property: sha512
- Modified property: responsible_user
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasicUser
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
- Modified property: users
- Items changed
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: backend_id
- Deleted required property: created
- Deleted required property: customer_name
- Deleted required property: customer_uuid
- Deleted required property: fingerprints
- Deleted required property: modified
- Deleted required property: offering_customer_uuid
- Deleted required property: offering_plugin_options
- Deleted required property: project_name
- Deleted required property: project_uuid
- Deleted required property: resource
- Deleted required property: resource_name
- Deleted required property: resource_uuid
- Deleted required property: responsible_user
- Deleted required property: type
- Deleted required property: url
- Deleted required property: user_keys
- Deleted required property: users
- Deleted required property: uuid
- Properties changed
- Modified property: fingerprints
- Items changed
- Required changed
- Deleted required property: md5
- Deleted required property: sha256
- Deleted required property: sha512
- Modified property: responsible_user
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasicUser
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
- Modified property: users
- Items changed
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: backend_id
- Deleted required property: created
- Deleted required property: customer_name
- Deleted required property: customer_uuid
- Deleted required property: fingerprints
- Deleted required property: modified
- Deleted required property: offering_customer_uuid
- Deleted required property: offering_plugin_options
- Deleted required property: project_name
- Deleted required property: project_uuid
- Deleted required property: resource
- Deleted required property: resource_name
- Deleted required property: resource_uuid
- Deleted required property: responsible_user
- Deleted required property: type
- Deleted required property: url
- Deleted required property: user_keys
- Deleted required property: users
- Deleted required property: uuid
- Properties changed
- Modified property: fingerprints
- Items changed
- Required changed
- Deleted required property: md5
- Deleted required property: sha256
- Deleted required property: sha512
- Modified property: responsible_user
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasicUser
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
- Modified property: users
- Items changed
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: backend_id
- Deleted required property: created
- Deleted required property: customer_name
- Deleted required property: customer_uuid
- Deleted required property: fingerprints
- Deleted required property: modified
- Deleted required property: offering_customer_uuid
- Deleted required property: offering_plugin_options
- Deleted required property: project_name
- Deleted required property: project_uuid
- Deleted required property: resource
- Deleted required property: resource_name
- Deleted required property: resource_uuid
- Deleted required property: responsible_user
- Deleted required property: type
- Deleted required property: url
- Deleted required property: user_keys
- Deleted required property: users
- Deleted required property: uuid
- Properties changed
- Modified property: fingerprints
- Items changed
- Required changed
- Deleted required property: md5
- Deleted required property: sha256
- Deleted required property: sha512
- Modified property: responsible_user
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasicUser
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
- Modified property: users
- Items changed
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: backend_id
- Deleted required property: created
- Deleted required property: customer_name
- Deleted required property: customer_uuid
- Deleted required property: fingerprints
- Deleted required property: modified
- Deleted required property: offering_customer_uuid
- Deleted required property: offering_plugin_options
- Deleted required property: project_name
- Deleted required property: project_uuid
- Deleted required property: resource
- Deleted required property: resource_name
- Deleted required property: resource_uuid
- Deleted required property: responsible_user
- Deleted required property: type
- Deleted required property: url
- Deleted required property: user_keys
- Deleted required property: users
- Deleted required property: uuid
- Properties changed
- Modified property: fingerprints
- Items changed
- Required changed
- Deleted required property: md5
- Deleted required property: sha256
- Deleted required property: sha512
- Modified property: responsible_user
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasicUser
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
- Modified property: users
- Items changed
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_requirements
GET /api/openstack-backups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: instance
- Description changed from '' to 'Instance that this backup is created from'
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance_security_groups
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: flavor
- Description changed from '' to 'Flavor to be used for the restored instance. If not specified, original instance flavor will be used'
- Modified property: floating_ips
- Description changed from '' to 'Floating IPs that will be assigned to the restored instance'
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance
- Description changed from '' to 'Instance that is being restored from the backup'
- Modified property: ports
- Description changed from '' to 'Network ports that will be attached to the restored instance'
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: security_groups
- Description changed from '' to 'Security groups that will be assigned to the restored instance'
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
GET /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance
- Description changed from '' to 'Instance that this backup is created from'
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance_security_groups
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: flavor
- Description changed from '' to 'Flavor to be used for the restored instance. If not specified, original instance flavor will be used'
- Modified property: floating_ips
- Description changed from '' to 'Floating IPs that will be assigned to the restored instance'
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance
- Description changed from '' to 'Instance that is being restored from the backup'
- Modified property: ports
- Description changed from '' to 'Network ports that will be attached to the restored instance'
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: security_groups
- Description changed from '' to 'Security groups that will be assigned to the restored instance'
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
PATCH /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance
- Description changed from '' to 'Instance that this backup is created from'
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance_security_groups
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: flavor
- Description changed from '' to 'Flavor to be used for the restored instance. If not specified, original instance flavor will be used'
- Modified property: floating_ips
- Description changed from '' to 'Floating IPs that will be assigned to the restored instance'
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance
- Description changed from '' to 'Instance that is being restored from the backup'
- Modified property: ports
- Description changed from '' to 'Network ports that will be attached to the restored instance'
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: security_groups
- Description changed from '' to 'Security groups that will be assigned to the restored instance'
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
PUT /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance
- Description changed from '' to 'Instance that this backup is created from'
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance_security_groups
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: flavor
- Description changed from '' to 'Flavor to be used for the restored instance. If not specified, original instance flavor will be used'
- Modified property: floating_ips
- Description changed from '' to 'Floating IPs that will be assigned to the restored instance'
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance
- Description changed from '' to 'Instance that is being restored from the backup'
- Modified property: ports
- Description changed from '' to 'Network ports that will be attached to the restored instance'
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: security_groups
- Description changed from '' to 'Security groups that will be assigned to the restored instance'
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
POST /api/openstack-backups/{uuid}/restore/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: security_groups
- Modified property: flavor
- Description changed from '' to 'Flavor to be used for the restored instance. If not specified, original instance flavor will be used'
- Modified property: floating_ips
- Description changed from '' to 'Floating IPs that will be assigned to the restored instance'
- Modified property: ports
- Description changed from '' to 'Network ports that will be attached to the restored instance'
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: action_details
- Description changed from '' to 'Details about ongoing or completed actions'
- Modified property: availability_zone
- Description changed from '' to 'Availability zone where this instance is located'
- Modified property: availability_zone_name
- Description changed from '' to 'Name of the availability zone where instance is located'
- Modified property: backend_id
- Description changed from '' to 'Instance ID in the OpenStack backend'
- Modified property: connect_directly_to_external_network
- Description changed from '' to 'If True, instance will be connected directly to external network'
- Modified property: flavor_name
- Description changed from '' to 'Name of the flavor used by this instance'
- Modified property: floating_ips
- Description changed from '' to 'Floating IPs to assign to the instance'
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: hypervisor_hostname
- Description changed from '' to 'Name of the hypervisor hosting this instance'
- Modified property: ports
- Description changed from '' to 'Network ports to attach to the instance'
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: security_groups
- Description changed from '' to 'List of security groups to apply to the instance'
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
- Modified property: server_group
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OpenStackNestedServerGroup
- Properties changed
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
- Description changed from '' to 'Server group for instance scheduling policy'
- Modified property: service_settings
- Description changed from '' to 'OpenStack provider settings'
- Modified property: tenant
- Description changed from '' to 'The OpenStack tenant to create the instance in'
- Modified property: tenant_uuid
- Description changed from '' to 'UUID of the OpenStack tenant'
- Modified property: volumes
- Description changed from '' to 'List of volumes attached to the instance'
- Items changed
- Properties changed
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Modified property: image_name
- Description changed from '' to 'Name of the image this volume was created from'
- Modified property: type
- Description changed from '' to 'Type of the volume (e.g. SSD, HDD)'
GET /api/openstack-floating-ips/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: backend_network_id
- Description changed from '' to 'ID of network in OpenStack where this floating IP is allocated'
- Modified property: external_address
- Description changed from 'An optional address that maps to floating IP's address' to 'Optional address that maps to floating IP's address in external networks'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this floating IP belongs to'
GET /api/openstack-floating-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: backend_network_id
- Description changed from '' to 'ID of network in OpenStack where this floating IP is allocated'
- Modified property: external_address
- Description changed from 'An optional address that maps to floating IP's address' to 'Optional address that maps to floating IP's address in external networks'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this floating IP belongs to'
GET /api/openstack-instance-availability-zones/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: available
- Description changed from '' to 'Indicates whether this availability zone is available for instance provisioning'
GET /api/openstack-instance-availability-zones/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: available
- Description changed from '' to 'Indicates whether this availability zone is available for instance provisioning'
GET /api/openstack-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: action_details
- Description changed from '' to 'Details about ongoing or completed actions'
- Modified property: availability_zone
- Description changed from '' to 'Availability zone where this instance is located'
- Modified property: availability_zone_name
- Description changed from '' to 'Name of the availability zone where instance is located'
- Modified property: backend_id
- Description changed from '' to 'Instance ID in the OpenStack backend'
- Modified property: connect_directly_to_external_network
- Description changed from '' to 'If True, instance will be connected directly to external network'
- Modified property: flavor_name
- Description changed from '' to 'Name of the flavor used by this instance'
- Modified property: floating_ips
- Description changed from '' to 'Floating IPs to assign to the instance'
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: hypervisor_hostname
- Description changed from '' to 'Name of the hypervisor hosting this instance'
- Modified property: ports
- Description changed from '' to 'Network ports to attach to the instance'
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: security_groups
- Description changed from '' to 'List of security groups to apply to the instance'
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
- Modified property: server_group
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OpenStackNestedServerGroup
- Properties changed
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
- Description changed from '' to 'Server group for instance scheduling policy'
- Modified property: service_settings
- Description changed from '' to 'OpenStack provider settings'
- Modified property: tenant
- Description changed from '' to 'The OpenStack tenant to create the instance in'
- Modified property: tenant_uuid
- Description changed from '' to 'UUID of the OpenStack tenant'
- Modified property: volumes
- Description changed from '' to 'List of volumes attached to the instance'
- Items changed
- Properties changed
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Modified property: image_name
- Description changed from '' to 'Name of the image this volume was created from'
- Modified property: type
- Description changed from '' to 'Type of the volume (e.g. SSD, HDD)'
GET /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: action_details
- Description changed from '' to 'Details about ongoing or completed actions'
- Modified property: availability_zone
- Description changed from '' to 'Availability zone where this instance is located'
- Modified property: availability_zone_name
- Description changed from '' to 'Name of the availability zone where instance is located'
- Modified property: backend_id
- Description changed from '' to 'Instance ID in the OpenStack backend'
- Modified property: connect_directly_to_external_network
- Description changed from '' to 'If True, instance will be connected directly to external network'
- Modified property: flavor_name
- Description changed from '' to 'Name of the flavor used by this instance'
- Modified property: floating_ips
- Description changed from '' to 'Floating IPs to assign to the instance'
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: hypervisor_hostname
- Description changed from '' to 'Name of the hypervisor hosting this instance'
- Modified property: ports
- Description changed from '' to 'Network ports to attach to the instance'
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: security_groups
- Description changed from '' to 'List of security groups to apply to the instance'
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
- Modified property: server_group
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OpenStackNestedServerGroup
- Properties changed
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
- Description changed from '' to 'Server group for instance scheduling policy'
- Modified property: service_settings
- Description changed from '' to 'OpenStack provider settings'
- Modified property: tenant
- Description changed from '' to 'The OpenStack tenant to create the instance in'
- Modified property: tenant_uuid
- Description changed from '' to 'UUID of the OpenStack tenant'
- Modified property: volumes
- Description changed from '' to 'List of volumes attached to the instance'
- Items changed
- Properties changed
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Modified property: image_name
- Description changed from '' to 'Name of the image this volume was created from'
- Modified property: type
- Description changed from '' to 'Type of the volume (e.g. SSD, HDD)'
PATCH /api/openstack-instances/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: data_volume_type
- Description changed from '' to 'Volume type for the data volume'
- Modified property: data_volumes
- Description changed from '' to 'Additional data volumes to attach to the instance'
- Modified property: system_volume_type
- Description changed from '' to 'Volume type for the system volume'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: action_details
- Description changed from '' to 'Details about ongoing or completed actions'
- Modified property: availability_zone
- Description changed from '' to 'Availability zone where this instance is located'
- Modified property: availability_zone_name
- Description changed from '' to 'Name of the availability zone where instance is located'
- Modified property: backend_id
- Description changed from '' to 'Instance ID in the OpenStack backend'
- Modified property: connect_directly_to_external_network
- Description changed from '' to 'If True, instance will be connected directly to external network'
- Modified property: flavor_name
- Description changed from '' to 'Name of the flavor used by this instance'
- Modified property: floating_ips
- Description changed from '' to 'Floating IPs to assign to the instance'
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: hypervisor_hostname
- Description changed from '' to 'Name of the hypervisor hosting this instance'
- Modified property: ports
- Description changed from '' to 'Network ports to attach to the instance'
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: security_groups
- Description changed from '' to 'List of security groups to apply to the instance'
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
- Modified property: server_group
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OpenStackNestedServerGroup
- Properties changed
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
- Description changed from '' to 'Server group for instance scheduling policy'
- Modified property: service_settings
- Description changed from '' to 'OpenStack provider settings'
- Modified property: tenant
- Description changed from '' to 'The OpenStack tenant to create the instance in'
- Modified property: tenant_uuid
- Description changed from '' to 'UUID of the OpenStack tenant'
- Modified property: volumes
- Description changed from '' to 'List of volumes attached to the instance'
- Items changed
- Properties changed
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Modified property: image_name
- Description changed from '' to 'Name of the image this volume was created from'
- Modified property: type
- Description changed from '' to 'Type of the volume (e.g. SSD, HDD)'
PUT /api/openstack-instances/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: data_volume_type
- Description changed from '' to 'Volume type for the data volume'
- Modified property: data_volumes
- Description changed from '' to 'Additional data volumes to attach to the instance'
- Modified property: system_volume_type
- Description changed from '' to 'Volume type for the system volume'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: action_details
- Description changed from '' to 'Details about ongoing or completed actions'
- Modified property: availability_zone
- Description changed from '' to 'Availability zone where this instance is located'
- Modified property: availability_zone_name
- Description changed from '' to 'Name of the availability zone where instance is located'
- Modified property: backend_id
- Description changed from '' to 'Instance ID in the OpenStack backend'
- Modified property: connect_directly_to_external_network
- Description changed from '' to 'If True, instance will be connected directly to external network'
- Modified property: flavor_name
- Description changed from '' to 'Name of the flavor used by this instance'
- Modified property: floating_ips
- Description changed from '' to 'Floating IPs to assign to the instance'
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: hypervisor_hostname
- Description changed from '' to 'Name of the hypervisor hosting this instance'
- Modified property: ports
- Description changed from '' to 'Network ports to attach to the instance'
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: security_groups
- Description changed from '' to 'List of security groups to apply to the instance'
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
- Modified property: server_group
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OpenStackNestedServerGroup
- Properties changed
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
- Description changed from '' to 'Server group for instance scheduling policy'
- Modified property: service_settings
- Description changed from '' to 'OpenStack provider settings'
- Modified property: tenant
- Description changed from '' to 'The OpenStack tenant to create the instance in'
- Modified property: tenant_uuid
- Description changed from '' to 'UUID of the OpenStack tenant'
- Modified property: volumes
- Description changed from '' to 'List of volumes attached to the instance'
- Items changed
- Properties changed
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Modified property: image_name
- Description changed from '' to 'Name of the image this volume was created from'
- Modified property: type
- Description changed from '' to 'Type of the volume (e.g. SSD, HDD)'
POST /api/openstack-instances/{uuid}/backup/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance
- Description changed from '' to 'Instance that this backup is created from'
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance_security_groups
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: flavor
- Description changed from '' to 'Flavor to be used for the restored instance. If not specified, original instance flavor will be used'
- Modified property: floating_ips
- Description changed from '' to 'Floating IPs that will be assigned to the restored instance'
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: instance
- Description changed from '' to 'Instance that is being restored from the backup'
- Modified property: ports
- Description changed from '' to 'Network ports that will be attached to the restored instance'
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: security_groups
- Description changed from '' to 'Security groups that will be assigned to the restored instance'
- Items changed
- Properties changed
- Deleted property: description
- Deleted property: name
- Deleted property: rules
- Deleted property: state
- Modified property: url
- Format changed from 'uri' to ''
- ReadOnly changed from true to false
POST /api/openstack-instances/{uuid}/change_flavor/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: flavor
- Description changed from '' to 'The new flavor to use for the instance. Flavor change can only be done when instance is stopped.'
GET /api/openstack-instances/{uuid}/floating_ips/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: port_mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
GET /api/openstack-instances/{uuid}/ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
POST /api/openstack-instances/{uuid}/update_allowed_address_pairs/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: allowed_address_pairs
- Description changed from '' to 'List of allowed address pairs to set on the port. Each pair should contain 'ip_address' and optional 'mac_address'.'
- Modified property: subnet
- Description changed from '' to 'The subnet to update allowed address pairs for.'
POST /api/openstack-instances/{uuid}/update_ports/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
POST /api/openstack-instances/{uuid}/update_security_groups/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: security_groups
- Description changed from '' to 'List of security groups to be assigned to the instance.'
GET /api/openstack-network-rbac-policies/
- Modified query param: policy_type
- Description changed from '' to 'Type of access granted - either shared access or external network access
'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: policy_type
- Description changed from '' to 'Type of access granted - either shared access or external network access'
HEAD /api/openstack-network-rbac-policies/
- Modified query param: policy_type
- Description changed from '' to 'Type of access granted - either shared access or external network access
'
GET /api/openstack-network-rbac-policies/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: policy_type
- Description changed from '' to 'Type of access granted - either shared access or external network access'
GET /api/openstack-networks/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: is_external
- Description changed from '' to 'Defines whether this network is external (public) or internal (private)'
- Modified property: rbac_policies
- Items changed
- Properties changed
- Modified property: policy_type
- Description changed from '' to 'Type of access granted - either shared access or external network access'
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: enable_dhcp
- Description changed from '' to 'If True, DHCP service will be enabled on this subnet'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Modified property: ip_version
- Description changed from '' to 'IP protocol version (4 or 6)'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this network belongs to'
- Modified property: type
- Description changed from '' to 'Network type, such as local, flat, vlan, vxlan, or gre'
GET /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_external
- Description changed from '' to 'Defines whether this network is external (public) or internal (private)'
- Modified property: rbac_policies
- Items changed
- Properties changed
- Modified property: policy_type
- Description changed from '' to 'Type of access granted - either shared access or external network access'
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: enable_dhcp
- Description changed from '' to 'If True, DHCP service will be enabled on this subnet'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Modified property: ip_version
- Description changed from '' to 'IP protocol version (4 or 6)'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this network belongs to'
- Modified property: type
- Description changed from '' to 'Network type, such as local, flat, vlan, vxlan, or gre'
PATCH /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_external
- Description changed from '' to 'Defines whether this network is external (public) or internal (private)'
- Modified property: rbac_policies
- Items changed
- Properties changed
- Modified property: policy_type
- Description changed from '' to 'Type of access granted - either shared access or external network access'
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: enable_dhcp
- Description changed from '' to 'If True, DHCP service will be enabled on this subnet'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Modified property: ip_version
- Description changed from '' to 'IP protocol version (4 or 6)'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this network belongs to'
- Modified property: type
- Description changed from '' to 'Network type, such as local, flat, vlan, vxlan, or gre'
PUT /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_external
- Description changed from '' to 'Defines whether this network is external (public) or internal (private)'
- Modified property: rbac_policies
- Items changed
- Properties changed
- Modified property: policy_type
- Description changed from '' to 'Type of access granted - either shared access or external network access'
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: enable_dhcp
- Description changed from '' to 'If True, DHCP service will be enabled on this subnet'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Modified property: ip_version
- Description changed from '' to 'IP protocol version (4 or 6)'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this network belongs to'
- Modified property: type
- Description changed from '' to 'Network type, such as local, flat, vlan, vxlan, or gre'
POST /api/openstack-networks/{uuid}/create_subnet/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: disable_gateway
- Description changed from '' to 'If True, no gateway IP address will be allocated'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: disable_gateway
- Description changed from '' to 'If True, no gateway IP address will be allocated'
- Modified property: enable_dhcp
- Description changed from '' to 'If True, DHCP service will be enabled on this subnet'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Modified property: ip_version
- Description changed from '' to 'IP protocol version (4 or 6)'
- Modified property: network
- Description changed from '' to 'Network to which this subnet belongs'
POST /api/openstack-networks/{uuid}/rbac_policy_create/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: policy_type
- Description changed from '' to 'Type of access granted - either shared access or external network access'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: policy_type
- Description changed from '' to 'Type of access granted - either shared access or external network access'
GET /api/openstack-ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: admin_state_up
- Description changed from '' to 'Administrative state of the port. If down, port does not forward packets'
- Modified property: backend_id
- Description changed from '' to 'Port ID in OpenStack'
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: network
- Description changed from '' to 'Network to which this port belongs'
- Modified property: port_security_enabled
- Description changed from '' to 'If True, security groups and rules will be applied to this port'
- Modified property: status
- Description changed from '' to 'Port status in OpenStack (e.g. ACTIVE, DOWN)'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this port belongs to'
POST /api/openstack-ports/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: network
- Description changed from '' to 'Network to which this port belongs'
- Modified property: port_security_enabled
- Description changed from '' to 'If True, security groups and rules will be applied to this port'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: admin_state_up
- Description changed from '' to 'Administrative state of the port. If down, port does not forward packets'
- Modified property: backend_id
- Description changed from '' to 'Port ID in OpenStack'
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: network
- Description changed from '' to 'Network to which this port belongs'
- Modified property: port_security_enabled
- Description changed from '' to 'If True, security groups and rules will be applied to this port'
- Modified property: status
- Description changed from '' to 'Port status in OpenStack (e.g. ACTIVE, DOWN)'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this port belongs to'
GET /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: admin_state_up
- Description changed from '' to 'Administrative state of the port. If down, port does not forward packets'
- Modified property: backend_id
- Description changed from '' to 'Port ID in OpenStack'
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: network
- Description changed from '' to 'Network to which this port belongs'
- Modified property: port_security_enabled
- Description changed from '' to 'If True, security groups and rules will be applied to this port'
- Modified property: status
- Description changed from '' to 'Port status in OpenStack (e.g. ACTIVE, DOWN)'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this port belongs to'
PATCH /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: admin_state_up
- Description changed from '' to 'Administrative state of the port. If down, port does not forward packets'
- Modified property: backend_id
- Description changed from '' to 'Port ID in OpenStack'
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: network
- Description changed from '' to 'Network to which this port belongs'
- Modified property: port_security_enabled
- Description changed from '' to 'If True, security groups and rules will be applied to this port'
- Modified property: status
- Description changed from '' to 'Port status in OpenStack (e.g. ACTIVE, DOWN)'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this port belongs to'
PUT /api/openstack-ports/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: network
- Description changed from '' to 'Network to which this port belongs'
- Modified property: port_security_enabled
- Description changed from '' to 'If True, security groups and rules will be applied to this port'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: admin_state_up
- Description changed from '' to 'Administrative state of the port. If down, port does not forward packets'
- Modified property: backend_id
- Description changed from '' to 'Port ID in OpenStack'
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: network
- Description changed from '' to 'Network to which this port belongs'
- Modified property: port_security_enabled
- Description changed from '' to 'If True, security groups and rules will be applied to this port'
- Modified property: status
- Description changed from '' to 'Port status in OpenStack (e.g. ACTIVE, DOWN)'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this port belongs to'
POST /api/openstack-ports/{uuid}/update_port_ip/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'The IP address to assign within the subnet'
- Modified property: subnet
- Description changed from '' to 'The subnet where the new IP address will be allocated'
POST /api/openstack-ports/{uuid}/update_security_groups/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: security_groups
- Description changed from '' to 'List of security groups to be assigned to the instance.'
GET /api/openstack-routers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Router ID in OpenStack'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: ports
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this router belongs to'
POST /api/openstack-routers/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this router belongs to'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this router belongs to'
GET /api/openstack-routers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Router ID in OpenStack'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: ports
- Items changed
- Properties changed
- Modified property: device_id
- Description changed from '' to 'ID of device (instance, router etc) to which this port is connected'
- Modified property: device_owner
- Description changed from '' to 'Entity that uses this port (e.g. network:router_interface)'
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: mac_address
- Description changed from '' to 'MAC address of the port'
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Modified property: subnet
- Description changed from '' to 'Subnet to which this port belongs'
- Modified property: subnet_cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this router belongs to'
POST /api/openstack-routers/{uuid}/add_router_interface/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: port
- Description changed from '' to 'The port to connect to the router. Either subnet or port must be specified, but not both.'
- Modified property: subnet
- Description changed from '' to 'The subnet to connect to the router. Either subnet or port must be specified, but not both.'
POST /api/openstack-routers/{uuid}/remove_router_interface/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: port
- Description changed from '' to 'The port to connect to the router. Either subnet or port must be specified, but not both.'
- Modified property: subnet
- Description changed from '' to 'The subnet to connect to the router. Either subnet or port must be specified, but not both.'
GET /api/openstack-security-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
GET /api/openstack-security-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
POST /api/openstack-security-groups/{uuid}/set_rules/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
GET /api/openstack-server-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: instances
- Items changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Instance ID in the OpenStack backend'
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
POST /api/openstack-server-groups/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instances
- Items changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Instance ID in the OpenStack backend'
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
GET /api/openstack-server-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instances
- Items changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Instance ID in the OpenStack backend'
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
PATCH /api/openstack-server-groups/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instances
- Items changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Instance ID in the OpenStack backend'
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
PUT /api/openstack-server-groups/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instances
- Items changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Instance ID in the OpenStack backend'
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
GET /api/openstack-snapshots/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Snapshot ID in the OpenStack backend'
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: volume
- Description changed from '' to 'Volume that is being restored from the snapshot'
- Modified property: source_volume
- Description changed from '' to 'Volume from which this snapshot was created'
GET /api/openstack-snapshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Snapshot ID in the OpenStack backend'
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: volume
- Description changed from '' to 'Volume that is being restored from the snapshot'
- Modified property: source_volume
- Description changed from '' to 'Volume from which this snapshot was created'
PATCH /api/openstack-snapshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Snapshot ID in the OpenStack backend'
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: volume
- Description changed from '' to 'Volume that is being restored from the snapshot'
- Modified property: source_volume
- Description changed from '' to 'Volume from which this snapshot was created'
PUT /api/openstack-snapshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Snapshot ID in the OpenStack backend'
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: volume
- Description changed from '' to 'Volume that is being restored from the snapshot'
- Modified property: source_volume
- Description changed from '' to 'Volume from which this snapshot was created'
GET /api/openstack-snapshots/{uuid}/restorations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: volume
- Description changed from '' to 'Volume that is being restored from the snapshot'
POST /api/openstack-snapshots/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: availability_zone
- Description changed from '' to 'Availability zone where this volume is located'
- Modified property: backend_id
- Description changed from '' to 'Volume ID in the OpenStack backend'
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Modified property: image
- Description changed from '' to 'Image that this volume was created from, if any'
- Modified property: image_metadata
- Description changed from '' to 'Metadata of the image this volume was created from'
- Modified property: image_name
- Description changed from '' to 'Name of the image this volume was created from'
- Modified property: instance
- Description changed from '' to 'Instance that this volume is attached to, if any'
- Modified property: source_snapshot
- Description changed from '' to 'Snapshot that this volume was created from, if any'
- Modified property: type
- Description changed from '' to 'Type of the volume (e.g. SSD, HDD)'
GET /api/openstack-subnets/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: disable_gateway
- Description changed from '' to 'If True, no gateway IP address will be allocated'
- Modified property: enable_dhcp
- Description changed from '' to 'If True, DHCP service will be enabled on this subnet'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Modified property: ip_version
- Description changed from '' to 'IP protocol version (4 or 6)'
- Modified property: network
- Description changed from '' to 'Network to which this subnet belongs'
GET /api/openstack-subnets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: disable_gateway
- Description changed from '' to 'If True, no gateway IP address will be allocated'
- Modified property: enable_dhcp
- Description changed from '' to 'If True, DHCP service will be enabled on this subnet'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Modified property: ip_version
- Description changed from '' to 'IP protocol version (4 or 6)'
- Modified property: network
- Description changed from '' to 'Network to which this subnet belongs'
PATCH /api/openstack-subnets/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: disable_gateway
- Description changed from '' to 'If True, no gateway IP address will be allocated'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: disable_gateway
- Description changed from '' to 'If True, no gateway IP address will be allocated'
- Modified property: enable_dhcp
- Description changed from '' to 'If True, DHCP service will be enabled on this subnet'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Modified property: ip_version
- Description changed from '' to 'IP protocol version (4 or 6)'
- Modified property: network
- Description changed from '' to 'Network to which this subnet belongs'
PUT /api/openstack-subnets/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: disable_gateway
- Description changed from '' to 'If True, no gateway IP address will be allocated'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: disable_gateway
- Description changed from '' to 'If True, no gateway IP address will be allocated'
- Modified property: enable_dhcp
- Description changed from '' to 'If True, DHCP service will be enabled on this subnet'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Modified property: ip_version
- Description changed from '' to 'IP protocol version (4 or 6)'
- Modified property: network
- Description changed from '' to 'Network to which this subnet belongs'
GET /api/openstack-tenants/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'ID of tenant in the OpenStack backend'
- Modified property: external_network_id
- Description changed from '' to 'ID of external network connected to OpenStack tenant'
- Modified property: internal_network_id
- Description changed from '' to 'ID of internal network in OpenStack tenant'
POST /api/openstack-tenants/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'ID of tenant in the OpenStack backend'
- Modified property: external_network_id
- Description changed from '' to 'ID of external network connected to OpenStack tenant'
- Modified property: internal_network_id
- Description changed from '' to 'ID of internal network in OpenStack tenant'
GET /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'ID of tenant in the OpenStack backend'
- Modified property: external_network_id
- Description changed from '' to 'ID of external network connected to OpenStack tenant'
- Modified property: internal_network_id
- Description changed from '' to 'ID of internal network in OpenStack tenant'
PATCH /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'ID of tenant in the OpenStack backend'
- Modified property: external_network_id
- Description changed from '' to 'ID of external network connected to OpenStack tenant'
- Modified property: internal_network_id
- Description changed from '' to 'ID of internal network in OpenStack tenant'
PUT /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'ID of tenant in the OpenStack backend'
- Modified property: external_network_id
- Description changed from '' to 'ID of external network connected to OpenStack tenant'
- Modified property: internal_network_id
- Description changed from '' to 'ID of internal network in OpenStack tenant'
GET /api/openstack-tenants/{uuid}/backend_instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Instance ID in the OpenStack backend'
- Modified property: hypervisor_hostname
- Description changed from '' to 'Name of the hypervisor hosting this instance'
GET /api/openstack-tenants/{uuid}/backend_volumes/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Volume ID in the OpenStack backend'
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Modified property: metadata
- Description changed from '' to 'Arbitrary key-value pairs associated with the volume'
POST /api/openstack-tenants/{uuid}/create_floating_ip/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: address
- Description changed from '' to 'The public IPv4 address of the floating IP'
- Modified property: backend_network_id
- Description changed from '' to 'ID of network in OpenStack where this floating IP is allocated'
- Modified property: external_address
- Description changed from 'An optional address that maps to floating IP's address' to 'Optional address that maps to floating IP's address in external networks'
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Description changed from '' to 'IP address to assign to the port'
- Modified property: subnet_id
- Description changed from '' to 'ID of the subnet in which to assign the IP address'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this floating IP belongs to'
POST /api/openstack-tenants/{uuid}/create_network/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_external
- Description changed from '' to 'Defines whether this network is external (public) or internal (private)'
- Modified property: rbac_policies
- Items changed
- Properties changed
- Modified property: policy_type
- Description changed from '' to 'Type of access granted - either shared access or external network access'
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'IPv4 network address in CIDR format (e.g. 192.168.0.0/24)'
- Modified property: enable_dhcp
- Description changed from '' to 'If True, DHCP service will be enabled on this subnet'
- Modified property: gateway_ip
- Description changed from '' to 'IP address of the gateway for this subnet'
- Modified property: ip_version
- Description changed from '' to 'IP protocol version (4 or 6)'
- Modified property: tenant
- Description changed from '' to 'OpenStack tenant this network belongs to'
- Modified property: type
- Description changed from '' to 'Network type, such as local, flat, vlan, vxlan, or gre'
POST /api/openstack-tenants/{uuid}/create_security_group/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: remote_group
- Description changed from '' to 'Remote security group that this rule references, if any'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
POST /api/openstack-tenants/{uuid}/create_server_group/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instances
- Items changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Instance ID in the OpenStack backend'
- Modified property: policy
- Description changed from '' to 'Server group policy determining the rules for scheduling servers in this group'
POST /api/openstack-tenants/{uuid}/pull_security_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'ID of tenant in the OpenStack backend'
- Modified property: external_network_id
- Description changed from '' to 'ID of external network connected to OpenStack tenant'
- Modified property: internal_network_id
- Description changed from '' to 'ID of internal network in OpenStack tenant'
POST /api/openstack-tenants/{uuid}/pull_server_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'ID of tenant in the OpenStack backend'
- Modified property: external_network_id
- Description changed from '' to 'ID of external network connected to OpenStack tenant'
- Modified property: internal_network_id
- Description changed from '' to 'ID of internal network in OpenStack tenant'
GET /api/openstack-volumes/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: availability_zone
- Description changed from '' to 'Availability zone where this volume is located'
- Modified property: backend_id
- Description changed from '' to 'Volume ID in the OpenStack backend'
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Modified property: image
- Description changed from '' to 'Image that this volume was created from, if any'
- Modified property: image_metadata
- Description changed from '' to 'Metadata of the image this volume was created from'
- Modified property: image_name
- Description changed from '' to 'Name of the image this volume was created from'
- Modified property: instance
- Description changed from '' to 'Instance that this volume is attached to, if any'
- Modified property: source_snapshot
- Description changed from '' to 'Snapshot that this volume was created from, if any'
- Modified property: type
- Description changed from '' to 'Type of the volume (e.g. SSD, HDD)'
GET /api/openstack-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: availability_zone
- Description changed from '' to 'Availability zone where this volume is located'
- Modified property: backend_id
- Description changed from '' to 'Volume ID in the OpenStack backend'
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Modified property: image
- Description changed from '' to 'Image that this volume was created from, if any'
- Modified property: image_metadata
- Description changed from '' to 'Metadata of the image this volume was created from'
- Modified property: image_name
- Description changed from '' to 'Name of the image this volume was created from'
- Modified property: instance
- Description changed from '' to 'Instance that this volume is attached to, if any'
- Modified property: source_snapshot
- Description changed from '' to 'Snapshot that this volume was created from, if any'
- Modified property: type
- Description changed from '' to 'Type of the volume (e.g. SSD, HDD)'
PATCH /api/openstack-volumes/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: availability_zone
- Description changed from '' to 'Availability zone where this volume is located'
- Modified property: backend_id
- Description changed from '' to 'Volume ID in the OpenStack backend'
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Modified property: image
- Description changed from '' to 'Image that this volume was created from, if any'
- Modified property: image_metadata
- Description changed from '' to 'Metadata of the image this volume was created from'
- Modified property: image_name
- Description changed from '' to 'Name of the image this volume was created from'
- Modified property: instance
- Description changed from '' to 'Instance that this volume is attached to, if any'
- Modified property: source_snapshot
- Description changed from '' to 'Snapshot that this volume was created from, if any'
- Modified property: type
- Description changed from '' to 'Type of the volume (e.g. SSD, HDD)'
PUT /api/openstack-volumes/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: availability_zone
- Description changed from '' to 'Availability zone where this volume is located'
- Modified property: backend_id
- Description changed from '' to 'Volume ID in the OpenStack backend'
- Modified property: bootable
- Description changed from '' to 'Indicates if this volume can be used to boot an instance'
- Modified property: image
- Description changed from '' to 'Image that this volume was created from, if any'
- Modified property: image_metadata
- Description changed from '' to 'Metadata of the image this volume was created from'
- Modified property: image_name
- Description changed from '' to 'Name of the image this volume was created from'
- Modified property: instance
- Description changed from '' to 'Instance that this volume is attached to, if any'
- Modified property: source_snapshot
- Description changed from '' to 'Snapshot that this volume was created from, if any'
- Modified property: type
- Description changed from '' to 'Type of the volume (e.g. SSD, HDD)'
POST /api/openstack-volumes/{uuid}/attach/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance
- Description changed from '' to 'Instance that this volume is attached to, if any'
POST /api/openstack-volumes/{uuid}/snapshot/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Snapshot ID in the OpenStack backend'
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: volume
- Description changed from '' to 'Volume that is being restored from the snapshot'
- Modified property: source_volume
- Description changed from '' to 'Volume from which this snapshot was created'
GET /api/projects/{uuid}/other_users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- Deleted required property: full_name
- Deleted required property: url
- Deleted required property: username
- Deleted required property: uuid
GET /api/rancher-cluster-security-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
GET /api/rancher-cluster-security-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
PATCH /api/rancher-cluster-security-groups/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
PUT /api/rancher-cluster-security-groups/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: cidr
- Description changed from '' to 'CIDR notation for the source/destination network address range'
- Modified property: direction
- Property 'AllOf' changed
- Schemas added: #/components/schemas/DirectionEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Traffic direction - either 'ingress' (incoming) or 'egress' (outgoing)'
- Deleted enum values: [ingress egress]
- Modified property: ethertype
- Property 'AllOf' changed
- Schemas added: #/components/schemas/EthertypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'IP protocol version - either 'IPv4' or 'IPv6''
- Deleted enum values: [IPv4 IPv6]
- Modified property: from_port
- Description changed from '' to 'Starting port number in the range (1-65535)'
- Modified property: protocol
- Description changed from '' to 'The network protocol (TCP, UDP, ICMP, or empty for any protocol)'
- Modified property: to_port
- Description changed from '' to 'Ending port number in the range (1-65535)'
GET /api/user-group-invitations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: scope_image
- Properties changed
- New property: is_public
- New property: scope_image
POST /api/user-group-invitations/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: is_public
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: scope_image
- Properties changed
- New property: is_public
- New property: scope_image
GET /api/user-group-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: scope_image
- Properties changed
- New property: is_public
- New property: scope_image
POST /api/user-group-invitations/{uuid}/submit_request/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: scope_image
- Properties changed
- New property: is_public
- New property: scope_image
GET /api/user-permission-requests/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: review_comment
- Description changed from '' to 'Optional comment provided during review'
- Modified property: reviewed_at
- Description changed from '' to 'Timestamp when the review was completed'
GET /api/user-permission-requests/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: review_comment
- Description changed from '' to 'Optional comment provided during review'
- Modified property: reviewed_at
- Description changed from '' to 'Timestamp when the review was completed'
OpenAPI schema diff - 7.7.7
For version 7.7.7
New Endpoints: 26
GET /api/customers/{customer_uuid}/project-metadata-compliance-details/
GET /api/customers/{customer_uuid}/project-metadata-compliance-overview/
GET /api/customers/{customer_uuid}/project-metadata-compliance-projects/
GET /api/customers/{customer_uuid}/project-metadata-question-answers/
GET /api/managed-rancher-cluster-resources/
HEAD /api/managed-rancher-cluster-resources/
GET /api/managed-rancher-cluster-resources/{uuid}/
POST /api/managed-rancher-cluster-resources/{uuid}/add_node/
GET /api/marketplace-offering-terms-of-service/
HEAD /api/marketplace-offering-terms-of-service/
POST /api/marketplace-offering-terms-of-service/
DELETE /api/marketplace-offering-terms-of-service/{uuid}/
GET /api/marketplace-offering-terms-of-service/{uuid}/
PATCH /api/marketplace-offering-terms-of-service/{uuid}/
PUT /api/marketplace-offering-terms-of-service/{uuid}/
GET /api/marketplace-user-offering-consents/
HEAD /api/marketplace-user-offering-consents/
POST /api/marketplace-user-offering-consents/
DELETE /api/marketplace-user-offering-consents/{uuid}/
GET /api/marketplace-user-offering-consents/{uuid}/
PATCH /api/marketplace-user-offering-consents/{uuid}/
PUT /api/marketplace-user-offering-consents/{uuid}/
POST /api/marketplace-user-offering-consents/{uuid}/revoke/
GET /api/remote-waldur-api/remote_resource_order_status/{resource_uuid}/
GET /api/remote-waldur-api/remote_resource_status/{resource_uuid}/
GET /api/remote-waldur-api/remote_resource_team_status/{resource_uuid}/
Deleted Endpoints: None
Modified Endpoints: 116
POST /api/backend-resources/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
GET /api/booking-offerings/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [terms_of_service terms_of_service_link]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
- Modified property: slug
- ReadOnly changed from true to false
GET /api/booking-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [terms_of_service terms_of_service_link]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
- Modified property: slug
- ReadOnly changed from true to false
GET /api/booking-resources/
- New query param: offering_slug
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_requires_reconsent]
- Deleted enum values: [offering_terms_of_service]
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: slug
- ReadOnly changed from true to false
HEAD /api/booking-resources/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
GET /api/booking-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_requires_reconsent]
- Deleted enum values: [offering_terms_of_service]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: slug
- ReadOnly changed from true to false
GET /api/checklists-admin-questions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: dependency_logic_operator
POST /api/checklists-admin-questions/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: dependency_logic_operator
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: dependency_logic_operator
GET /api/checklists-admin-questions/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: dependency_logic_operator
PATCH /api/checklists-admin-questions/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: dependency_logic_operator
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: dependency_logic_operator
PUT /api/checklists-admin-questions/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: dependency_logic_operator
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: dependency_logic_operator
GET /api/checklists-admin/{uuid}/questions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: dependency_logic_operator
GET /api/customers/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [organization_groups project_metadata_checklist projects users_count]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: organization_groups
- New property: project_metadata_checklist
- New property: projects
- New property: users_count
- Modified property: slug
- ReadOnly changed from true to false
POST /api/customers/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: organization_groups
- New property: project_metadata_checklist
- New property: projects
- New property: users_count
- Modified property: slug
- ReadOnly changed from true to false
GET /api/customers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [organization_groups project_metadata_checklist projects users_count]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: organization_groups
- New property: project_metadata_checklist
- New property: projects
- New property: users_count
- Modified property: slug
- ReadOnly changed from true to false
PATCH /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: organization_groups
- New property: project_metadata_checklist
- New property: projects
- New property: users_count
- Modified property: slug
- ReadOnly changed from true to false
PUT /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: organization_groups
- New property: project_metadata_checklist
- New property: projects
- New property: users_count
- Modified property: slug
- ReadOnly changed from true to false
GET /api/google-auth/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [enable_notifications]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: enable_notifications
GET /api/google-auth/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [enable_notifications]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: enable_notifications
GET /api/google-auth/{uuid}/authorize/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [enable_notifications]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: enable_notifications
GET /api/maintenance-announcements/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: backend_id
- Properties changed
- New property: backend_id
POST /api/maintenance-announcements/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: backend_id
- Properties changed
- New property: backend_id
GET /api/maintenance-announcements/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: backend_id
- Properties changed
- New property: backend_id
PATCH /api/maintenance-announcements/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: backend_id
- Properties changed
- New property: backend_id
PUT /api/maintenance-announcements/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: backend_id
- Properties changed
- New property: backend_id
GET /api/marketplace-integration-statuses/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
HEAD /api/marketplace-integration-statuses/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
GET /api/marketplace-offering-files/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
HEAD /api/marketplace-offering-files/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
GET /api/marketplace-offering-user-roles/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
HEAD /api/marketplace-offering-user-roles/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
GET /api/marketplace-offering-users/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
HEAD /api/marketplace-offering-users/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
GET /api/marketplace-orders/
- New query param: offering_slug
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [error_traceback]
- Deleted enum values: [offering_terms_of_service]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: offering_terms_of_service
HEAD /api/marketplace-orders/
- New query param: offering_slug
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: attributes
- Property 'OneOf' changed
- Schemas added: #/components/schemas/GenericOrderAttributes
- Modified schema: #/components/schemas/AzureVirtualMachineCreateOrderAttributes
- Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.' to 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' - Modified schema: #/components/schemas/AzureSQLServerCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.' to 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' - Modified schema: #/components/schemas/OpenStackTenantCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.' to 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' - Properties changed - New property: user_password - New property: user_username - Modified schema: #/components/schemas/OpenStackInstanceCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.' to 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' - Properties changed - Modified property: security_groups - Description changed from 'List of security groups to apply to the instance' to 'Security groups to attach to the instance' - Items changed - Properties changed - Modified property: url - Format changed from '' to 'uri' - Modified schema: #/components/schemas/OpenStackVolumeCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.' to 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' - Modified schema: #/components/schemas/MarketplaceRancherCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.' to 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' - Modified schema: #/components/schemas/SlurmInvoicesSlurmPackageCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.' to 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' - Modified schema: #/components/schemas/VMwareVirtualMachineCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.' to 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' - Description changed from 'Attributes structure depends on the offering type specified in the parent object' to 'Attributes structure depends on the offering type specified in the parent object. Can also be a generic object for offerings without a specific attributes schema.'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: offering_terms_of_service
- Properties changed
- Deleted property: offering_terms_of_service
GET /api/marketplace-orders/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [error_traceback]
- Deleted enum values: [offering_terms_of_service]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: offering_terms_of_service
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
GET /api/marketplace-plans/
- New query param: offering_slug
HEAD /api/marketplace-plans/
- New query param: offering_slug
GET /api/marketplace-plans/usage_stats/
- New query param: offering_slug
HEAD /api/marketplace-plans/usage_stats/
- New query param: offering_slug
GET /api/marketplace-provider-offerings/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [terms_of_service terms_of_service_link]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
- Modified property: slug
- ReadOnly changed from true to false
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
GET /api/marketplace-provider-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [terms_of_service terms_of_service_link]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
- Modified property: slug
- ReadOnly changed from true to false
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [terms_of_service terms_of_service_link]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [terms_of_service terms_of_service_link]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
- Modified property: slug
- ReadOnly changed from true to false
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: offering_terms_of_service
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: offering_terms_of_service
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [terms_of_service terms_of_service_link]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
- Modified property: slug
- ReadOnly changed from true to false
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
- Modified property: slug
- ReadOnly changed from true to false
POST /api/marketplace-provider-offerings/{uuid}/update_overview/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [terms_of_service terms_of_service_link]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-provider-resources/
- New query param: offering_slug
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_requires_reconsent]
- Deleted enum values: [offering_terms_of_service]
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
HEAD /api/marketplace-provider-resources/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
GET /api/marketplace-provider-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_requires_reconsent]
- Deleted enum values: [offering_terms_of_service]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
GET /api/marketplace-provider-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_requires_reconsent]
- Deleted enum values: [offering_terms_of_service]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
GET /api/marketplace-public-offerings/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [terms_of_service terms_of_service_link]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
GET /api/marketplace-public-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [terms_of_service terms_of_service_link]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
GET /api/marketplace-resources/
- New query param: offering_slug
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_requires_reconsent]
- Deleted enum values: [offering_terms_of_service]
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
HEAD /api/marketplace-resources/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
GET /api/marketplace-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_requires_reconsent]
- Deleted enum values: [offering_terms_of_service]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
GET /api/marketplace-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_requires_reconsent]
- Deleted enum values: [offering_terms_of_service]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
GET /api/marketplace-screenshots/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
HEAD /api/marketplace-screenshots/
- New query param: offering_slug
- Modified query param: offering_uuid
- Description changed from '' to 'Multiple values may be separated by commas.'
- Style changed from '' to 'form'
- Explode changed from null to false
- Schema changed
- Type changed from 'string' to 'array'
- Format changed from 'uuid' to ''
- Items changed
- Schema added
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: terms_of_service
- Deleted property: terms_of_service_link
GET /api/marketplace-service-providers/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [enable_notifications]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: enable_notifications
POST /api/marketplace-service-providers/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: enable_notifications
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-service-providers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [enable_notifications]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: enable_notifications
PATCH /api/marketplace-service-providers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: enable_notifications
PUT /api/marketplace-service-providers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: enable_notifications
GET /api/openstack-backups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: instance_security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
GET /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
PATCH /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
PUT /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
POST /api/openstack-backups/{uuid}/restore/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: security_groups
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
GET /api/openstack-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
GET /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
PATCH /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
PUT /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
POST /api/openstack-instances/{uuid}/backup/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: description
- New property: name
- New property: rules
- New property: state
- Modified property: url
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
GET /api/openstack-networks/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [segmentation_id]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: segmentation_id
GET /api/openstack-networks/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [segmentation_id]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: segmentation_id
PATCH /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: segmentation_id
PUT /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: segmentation_id
POST /api/openstack-security-groups/{uuid}/set_rules/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: direction
- Default changed from null to 'ingress'
- Modified property: ethertype
- Default changed from null to 'IPv4'
GET /api/openstack-tenants/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [access_url user_password user_username]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: access_url
- New property: user_password
- New property: user_username
POST /api/openstack-tenants/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: access_url
- New property: user_password
- New property: user_username
GET /api/openstack-tenants/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [access_url user_password user_username]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: access_url
- New property: user_password
- New property: user_username
PATCH /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: access_url
- New property: user_password
- New property: user_username
PUT /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: access_url
- New property: user_password
- New property: user_username
POST /api/openstack-tenants/{uuid}/create_network/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: segmentation_id
POST /api/openstack-tenants/{uuid}/pull_security_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: access_url
- New property: user_password
- New property: user_username
POST /api/openstack-tenants/{uuid}/pull_server_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: access_url
- New property: user_password
- New property: user_username
GET /api/promotions-campaigns/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: offering_terms_of_service
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_requires_reconsent
- Deleted property: offering_terms_of_service
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Deleted property: offering_terms_of_service
GET /api/proposal-protected-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
POST /api/proposal-protected-calls/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
GET /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
PATCH /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
PUT /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
POST /api/proposal-protected-calls/{uuid}/activate/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
POST /api/proposal-protected-calls/{uuid}/archive/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
GET /api/proposal-public-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
GET /api/proposal-public-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
OpenAPI schema diff - 7.7.8
For version 7.7.8
New Endpoints: 20
GET /api/marketplace-course-accounts/
HEAD /api/marketplace-course-accounts/
POST /api/marketplace-course-accounts/
POST /api/marketplace-course-accounts/create_bulk/
DELETE /api/marketplace-course-accounts/{uuid}/
GET /api/marketplace-course-accounts/{uuid}/
GET /api/marketplace-service-providers/{service_provider_uuid}/course_accounts/
GET /api/project-permissions-reviews/
HEAD /api/project-permissions-reviews/
GET /api/project-permissions-reviews/{uuid}/
POST /api/project-permissions-reviews/{uuid}/close/
GET /api/support-issue-statuses/
HEAD /api/support-issue-statuses/
POST /api/support-issue-statuses/
DELETE /api/support-issue-statuses/{uuid}/
GET /api/support-issue-statuses/{uuid}/
PATCH /api/support-issue-statuses/{uuid}/
PUT /api/support-issue-statuses/{uuid}/
POST /api/user-permission-requests/{uuid}/cancel_request/
POST /projects/{uuid}/sync_user_roles/
Deleted Endpoints: 1
POST /api/projects/{uuid}/sync_user_roles/
Modified Endpoints: 133
GET /api/customer-permissions-reviews/
- New query param: closed
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: is_pending
- Description changed from '' to 'Is pending'
- Modified query param: reviewer_uuid
- Description changed from '' to 'Reviewer UUID'
HEAD /api/customer-permissions-reviews/
- New query param: closed
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: is_pending
- Description changed from '' to 'Is pending'
- Modified query param: reviewer_uuid
- Description changed from '' to 'Reviewer UUID'
GET /api/customers/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [description]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: description
POST /api/customers/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: description
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: description
GET /api/customers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [description]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: description
PATCH /api/customers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: description
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: description
PUT /api/customers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: description
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: description
GET /api/customers/{uuid}/users/
- New query param: agreement_date
- New query param: date_joined
- New query param: modified
- Modified path param: uuid
- Name changed from 'uuid' to 'customer_uuid'
- Description changed from '' to 'UUID of the customer'
- Modified query param: full_name
- Description changed from '' to 'Full name'
- Modified query param: is_active
- Schema changed
- Type changed from 'string' to 'boolean'
- Modified query param: o
- Description changed from '' to 'Ordering. Sort by a combination of first name, last name, and username.'
- Schema changed
- New enum values: [concatenated_name -concatenated_name]
- Modified query param: organization_role
- Description changed from '' to 'Filter by one or more organization roles. Select a standard role or provide a custom role string. Can be specified multiple times.'
- Schema changed
- Type changed from 'string' to 'array'
- Items changed
- Schema added
- Modified query param: project_role
- Description changed from '' to 'Filter by one or more project roles. Select a standard role or provide a custom role string. Can be specified multiple times.'
- Schema changed
- Type changed from 'string' to 'array'
- Items changed
- Schema added
- Modified query param: user_keyword
- Description changed from '' to 'User keyword'
GET /api/event-subscriptions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: source_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
POST /api/event-subscriptions/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: source_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/event-subscriptions/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: source_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/hooks-email/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
POST /api/hooks-email/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
GET /api/hooks-email/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
PATCH /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
PUT /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
GET /api/hooks-web/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
POST /api/hooks-web/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
GET /api/hooks-web/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
PATCH /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
PUT /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [customer_permission_review_created customer_permission_review_closed project_permission_review_created project_permission_review_closed]
GET /api/invoices/{uuid}/items/
- New query param: o
GET /api/marketplace-customer-service-accounts/
- New query param: state
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: state
- Properties changed
- New property: state
HEAD /api/marketplace-customer-service-accounts/
- New query param: state
POST /api/marketplace-customer-service-accounts/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: state
- Properties changed
- New property: state
GET /api/marketplace-customer-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: state
- Properties changed
- New property: state
PATCH /api/marketplace-customer-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: state
- Properties changed
- New property: state
PUT /api/marketplace-customer-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: state
- Properties changed
- New property: state
POST /api/marketplace-customer-service-accounts/{uuid}/rotate_api_key/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: state
- Properties changed
- New property: state
GET /api/marketplace-offering-users/{uuid}/checklist/
- Extensions changed
- Deleted extension: x-permissions
GET /api/marketplace-offering-users/{uuid}/completion_status/
- Extensions changed
- Deleted extension: x-permissions
POST /api/marketplace-offering-users/{uuid}/submit_answers/
- Extensions changed
- Deleted extension: x-permissions
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: attributes
- Property 'OneOf' changed
- Modified schema: #/components/schemas/OpenStackInstanceCreateOrderAttributes
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/marketplace-project-service-accounts/
- New query param: state
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: state
- Properties changed
- New property: state
HEAD /api/marketplace-project-service-accounts/
- New query param: state
POST /api/marketplace-project-service-accounts/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: state
- Properties changed
- New property: state
GET /api/marketplace-project-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: state
- Properties changed
- New property: state
PATCH /api/marketplace-project-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: state
- Properties changed
- New property: state
PUT /api/marketplace-project-service-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: state
- Properties changed
- New property: state
POST /api/marketplace-project-service-accounts/{uuid}/rotate_api_key/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: state
- Properties changed
- New property: state
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: kind
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/RobotAccountStates
- Type changed from '' to 'string'
POST /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/RobotAccountStates
- Type changed from '' to 'string'
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/RobotAccountStates
- Type changed from '' to 'string'
PATCH /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/RobotAccountStates
- Type changed from '' to 'string'
PUT /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/RobotAccountStates
- Type changed from '' to 'string'
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/RobotAccountStates
- Type changed from '' to 'string'
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/RobotAccountStates
- Type changed from '' to 'string'
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/RobotAccountStates
- Type changed from '' to 'string'
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/RobotAccountStates
- Type changed from '' to 'string'
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/RobotAccountStates
- Type changed from '' to 'string'
GET /api/marketplace-service-providers/{service_provider_uuid}/project_service_accounts/
- New query param: state
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: state
- Properties changed
- New property: state
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [kind]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: kind
GET /api/openstack-backups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
PATCH /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
PUT /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
POST /api/openstack-backups/{uuid}/restore/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/openstack-floating-ips/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: external_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/openstack-floating-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: external_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/openstack-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
PATCH /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
PUT /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
POST /api/openstack-instances/{uuid}/backup/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: instance_floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/openstack-instances/{uuid}/floating_ips/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/openstack-instances/{uuid}/ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
POST /api/openstack-instances/{uuid}/update_ports/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/openstack-networks/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
PATCH /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
PUT /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
POST /api/openstack-networks/{uuid}/create_subnet/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: dns_nameservers
- Items changed
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: host_routes
- Items changed
- Properties changed
- Modified property: nexthop
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: dns_nameservers
- Items changed
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: host_routes
- Items changed
- Properties changed
- Modified property: nexthop
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/openstack-ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
POST /api/openstack-ports/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
PATCH /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
PUT /api/openstack-ports/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
POST /api/openstack-ports/{uuid}/update_port_ip/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/openstack-routers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: routes
- Items changed
- Properties changed
- Modified property: nexthop
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/openstack-routers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: ports
- Items changed
- Properties changed
- Modified property: fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: routes
- Items changed
- Properties changed
- Modified property: nexthop
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
POST /api/openstack-routers/{uuid}/set_routes/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: routes
- Items changed
- Properties changed
- Modified property: nexthop
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: routes
- Items changed
- Properties changed
- Modified property: nexthop
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/openstack-subnets/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: dns_nameservers
- Items changed
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: host_routes
- Items changed
- Properties changed
- Modified property: nexthop
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/openstack-subnets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: dns_nameservers
- Items changed
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: host_routes
- Items changed
- Properties changed
- Modified property: nexthop
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
PATCH /api/openstack-subnets/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: dns_nameservers
- Items changed
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: host_routes
- Items changed
- Properties changed
- Modified property: nexthop
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: dns_nameservers
- Items changed
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: host_routes
- Items changed
- Properties changed
- Modified property: nexthop
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
PUT /api/openstack-subnets/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: dns_nameservers
- Items changed
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: host_routes
- Items changed
- Properties changed
- Modified property: nexthop
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: dns_nameservers
- Items changed
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: host_routes
- Items changed
- Properties changed
- Modified property: nexthop
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
POST /api/openstack-tenants/{uuid}/create_floating_ip/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: external_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Modified property: port_fixed_ips
- Items changed
- Properties changed
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
POST /api/openstack-tenants/{uuid}/create_network/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: allocation_pools
- Items changed
- Properties changed
- Modified property: end
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: start
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: gateway_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ENFORCE_USER_CONSENT_FOR_OFFERINGS
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ENFORCE_USER_CONSENT_FOR_OFFERINGS
GET /api/projects/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [kind]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: kind
POST /api/projects/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: kind
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: kind
GET /api/projects/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [kind]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: kind
PATCH /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: kind
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: kind
PUT /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: kind
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: kind
POST /api/projects/{uuid}/move_project/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: kind
GET /api/projects/{uuid}/other_users/
- New query param: agreement_date
- New query param: date_joined
- New query param: modified
- New query param: o
- Modified path param: uuid
- Name changed from 'uuid' to 'project_uuid'
- Description changed from '' to 'UUID of the project'
- Modified query param: full_name
- Description changed from '' to 'Full name'
- Modified query param: is_active
- Schema changed
- Type changed from 'string' to 'boolean'
- Modified query param: user_keyword
- Description changed from '' to 'User keyword'
GET /api/proposal-proposals/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: call_managing_organisation_uuid
- Properties changed
- New property: call_managing_organisation_uuid
POST /api/proposal-proposals/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_managing_organisation_uuid
- Properties changed
- New property: call_managing_organisation_uuid
GET /api/proposal-proposals/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_managing_organisation_uuid
- Properties changed
- New property: call_managing_organisation_uuid
POST /api/proposal-proposals/{uuid}/approve/
- Extensions changed
- Modified extension: x-permissions
- Added /0/scopes/- with value: 'round.call.manager'
POST /api/proposal-proposals/{uuid}/reject/
- Extensions changed
- Modified extension: x-permissions
- Added /0/scopes/- with value: 'round.call.manager'
GET /api/proposal-reviews/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: call_managing_organisation_uuid
- Properties changed
- New property: call_managing_organisation_uuid
POST /api/proposal-reviews/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_managing_organisation_uuid
- Properties changed
- New property: call_managing_organisation_uuid
GET /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_managing_organisation_uuid
- Properties changed
- New property: call_managing_organisation_uuid
PATCH /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_managing_organisation_uuid
- Properties changed
- New property: call_managing_organisation_uuid
PUT /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_managing_organisation_uuid
- Properties changed
- New property: call_managing_organisation_uuid
GET /api/rabbitmq-user-stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: connections
- Items changed
- Properties changed
- Modified property: source_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/rabbitmq-vhost-stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: subscriptions
- Items changed
- Properties changed
- Modified property: source_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/rancher-clusters/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: public_ips
- Items changed
- Properties changed
- Modified property: external_ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
POST /api/rancher-clusters/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: public_ips
- Items changed
- Properties changed
- Modified property: external_ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: public_ips
- Items changed
- Properties changed
- Modified property: external_ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
PATCH /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: public_ips
- Items changed
- Properties changed
- Modified property: external_ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
PUT /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: public_ips
- Items changed
- Properties changed
- Modified property: external_ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
POST /api/rancher-clusters/{uuid}/create_management_security_group/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: public_ips
- Items changed
- Properties changed
- Modified property: external_ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Modified property: ip_address
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/rancher-services/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: cluster_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
POST /api/rancher-services/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: cluster_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: cluster_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/rancher-services/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: cluster_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
PATCH /api/rancher-services/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: cluster_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: cluster_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
PUT /api/rancher-services/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: cluster_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: cluster_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/rancher-services/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: cluster_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
PUT /api/rancher-services/{uuid}/yaml/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: cluster_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: cluster_ip
- Property 'OneOf' changed
- Schemas added: subschema #1, subschema #2
- Type changed from 'string' to ''
- Description changed from '' to 'An IPv4 or IPv6 address.'
GET /api/user-group-invitations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: scope_description
- Properties changed
- New property: scope_description
POST /api/user-group-invitations/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: scope_description
- Properties changed
- New property: scope_description
GET /api/user-group-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: scope_description
- Properties changed
- New property: scope_description
POST /api/user-group-invitations/{uuid}/submit_request/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: created
- Deleted required property: created_by_full_name
- Deleted required property: created_by_username
- Deleted required property: customer_name
- Deleted required property: customer_uuid
- Deleted required property: expires
- Deleted required property: is_active
- Deleted required property: role
- Deleted required property: role_description
- Deleted required property: role_name
- Deleted required property: scope_image
- Deleted required property: scope_type
- Deleted required property: url
- Properties changed
- Deleted property: auto_create_project
- Deleted property: created
- Deleted property: created_by_full_name
- Deleted property: created_by_username
- Deleted property: customer_name
- Deleted property: customer_uuid
- Deleted property: expires
- Deleted property: is_active
- Deleted property: is_public
- Deleted property: project_name_template
- Deleted property: project_role
- Deleted property: role
- Deleted property: role_description
- Deleted property: role_name
- Deleted property: scope_image
- Deleted property: scope_type
- Deleted property: url
- Deleted property: user_affiliations
- Deleted property: user_email_patterns
- Modified property: scope_name
- Description changed from '' to 'Name of the invitation scope'
- ReadOnly changed from true to false
- Modified property: scope_uuid
- Format changed from 'uuid' to ''
- Description changed from '' to 'UUID of the invitation scope'
- ReadOnly changed from true to false
- Modified property: uuid
- Format changed from 'uuid' to ''
- Description changed from '' to 'UUID of the created permission request'
- ReadOnly changed from true to false
GET /api/user-invitations/
- New query param: scope_description
- New query param: scope_name
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: scope_description
- Properties changed
- New property: scope_description
HEAD /api/user-invitations/
- New query param: scope_description
- New query param: scope_name
POST /api/user-invitations/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: scope_description
- Properties changed
- New property: scope_description
GET /api/user-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: scope_description
- Properties changed
- New property: scope_description
GET /api/user-invitations/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: scope_description
- Properties changed
- New property: scope_description
GET /api/user-permission-requests/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: created_by_email
- New required property: project_name_template
- Properties changed
- New property: created_by_email
- New property: project_name_template
GET /api/user-permission-requests/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: created_by_email
- New required property: project_name_template
- Properties changed
- New property: created_by_email
- New property: project_name_template
OpenAPI schema diff - 7.7.9
For version 7.7.9
New Endpoints: None
Deleted Endpoints: None
Modified Endpoints: 95
GET /api/booking-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_has_consent]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_has_consent
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/booking-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_has_consent]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_has_consent
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/call-managing-organisations/
- Security changed
- Deleted security requirements:
HEAD /api/call-managing-organisations/
- Security changed
- Deleted security requirements:
GET /api/call-managing-organisations/{uuid}/
- Security changed
- Deleted security requirements:
GET /api/customers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
POST /api/customers/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
PATCH /api/customers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
PUT /api/customers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/identity-providers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: client_secret
- Properties changed
- New property: attribute_mapping
- New property: client_secret
- New property: extra_fields
- New property: user_claim
- New property: user_field
POST /api/identity-providers/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: client_secret
- Properties changed
- New property: attribute_mapping
- New property: client_secret
- New property: extra_fields
- New property: user_claim
- New property: user_field
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: client_secret
- Properties changed
- New property: attribute_mapping
- New property: client_secret
- New property: extra_fields
- New property: user_claim
- New property: user_field
GET /api/identity-providers/{provider}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: client_secret
- Properties changed
- New property: attribute_mapping
- New property: client_secret
- New property: extra_fields
- New property: user_claim
- New property: user_field
PATCH /api/identity-providers/{provider}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: attribute_mapping
- New property: client_secret
- New property: extra_fields
- New property: user_claim
- New property: user_field
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: client_secret
- Properties changed
- New property: attribute_mapping
- New property: client_secret
- New property: extra_fields
- New property: user_claim
- New property: user_field
PUT /api/identity-providers/{provider}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: client_secret
- Properties changed
- New property: attribute_mapping
- New property: client_secret
- New property: extra_fields
- New property: user_claim
- New property: user_field
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: client_secret
- Properties changed
- New property: attribute_mapping
- New property: client_secret
- New property: extra_fields
- New property: user_claim
- New property: user_field
GET /api/marketplace-categories/
- Security changed
- Deleted security requirements:
HEAD /api/marketplace-categories/
- Security changed
- Deleted security requirements:
GET /api/marketplace-categories/{uuid}/
- Security changed
- Deleted security requirements:
GET /api/marketplace-category-columns/
- Security changed
- Deleted security requirements:
HEAD /api/marketplace-category-columns/
- Security changed
- Deleted security requirements:
GET /api/marketplace-category-columns/{uuid}/
- Security changed
- Deleted security requirements:
GET /api/marketplace-category-groups/
- Security changed
- Deleted security requirements:
HEAD /api/marketplace-category-groups/
- Security changed
- Deleted security requirements:
GET /api/marketplace-category-groups/{uuid}/
- Security changed
- Deleted security requirements:
GET /api/marketplace-course-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: error_traceback
- Properties changed
- Modified property: error_traceback
- ReadOnly changed from false to true
POST /api/marketplace-course-accounts/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: error_traceback
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: error_traceback
- Properties changed
- Modified property: error_traceback
- ReadOnly changed from false to true
GET /api/marketplace-course-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: error_traceback
- Properties changed
- Modified property: error_traceback
- ReadOnly changed from false to true
GET /api/marketplace-offering-referrals/
- Security changed
- Deleted security requirements:
HEAD /api/marketplace-offering-referrals/
- Security changed
- Deleted security requirements:
GET /api/marketplace-offering-referrals/{uuid}/
- Security changed
- Deleted security requirements:
GET /api/marketplace-offering-terms-of-service/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: has_user_consent
- New required property: user_consent
- Properties changed
- New property: has_user_consent
- New property: user_consent
GET /api/marketplace-offering-terms-of-service/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: has_user_consent
- New required property: user_consent
- Properties changed
- New property: has_user_consent
- New property: user_consent
PATCH /api/marketplace-offering-terms-of-service/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: has_user_consent
- New required property: user_consent
- Properties changed
- New property: has_user_consent
- New property: user_consent
PUT /api/marketplace-offering-terms-of-service/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: has_user_consent
- New required property: user_consent
- Properties changed
- New property: has_user_consent
- New property: user_consent
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_has_consent
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/marketplace-plan-components/
- Security changed
- Deleted security requirements:
HEAD /api/marketplace-plan-components/
- Security changed
- Deleted security requirements:
GET /api/marketplace-plan-components/{id}/
- Security changed
- Deleted security requirements:
GET /api/marketplace-provider-offerings/
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: user_has_consent
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
HEAD /api/marketplace-provider-offerings/
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: user_has_consent
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/marketplace-provider-offerings/groups/
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: user_has_consent
HEAD /api/marketplace-provider-offerings/groups/
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: user_has_consent
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/marketplace-provider-offerings/{uuid}/component_stats/
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: user_has_consent
GET /api/marketplace-provider-offerings/{uuid}/costs/
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: user_has_consent
GET /api/marketplace-provider-offerings/{uuid}/customers/
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: user_has_consent
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_has_consent
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_has_consent
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/marketplace-public-offerings/
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: user_has_consent
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_has_consent]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_has_consent
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
HEAD /api/marketplace-public-offerings/
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: user_has_consent
GET /api/marketplace-public-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_has_consent]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_has_consent
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_has_consent
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
POST /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
PATCH /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
PUT /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RobotAccountStates
- Type changed from 'string' to ''
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_has_consent
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_has_consent
- Modified property: country
- Property 'OneOf' changed
- Modified schema: #/components/schemas/CountryEnum
- New enum values: [AW AF AO AI AX AD AE AR AM AS AQ TF AG AU AZ BI BJ BQ BF BD BH BS BL BY BZ BM BO BR BB BN BT BV BW CF CA CC CL CN CI CM CD CG CK CO KM CV CR CU CW CX KY DJ DM DO DZ EC EG ER EH ET FJ FK FO FM GA GG GH GI GN GP GM GW GQ GD GL GT GF GU GY HK HM HN HT ID IM IN IO IR IQ IL JM JE JO JP KZ KE KG KH KI KN KR KW LA LB LR LY LC LI LK LS MO MF MA MD MG MV MX MH ML MM ME MN MP MZ MR MS MQ MU MW MY YT NA NC NE NF NG NI NU NP NR NZ OM PK PA PN PE PH PW PG PR KP PY PS PF QA RE RU RW SA SD SN SG GS SH SJ SB SL SV SM SO PM SS ST SR SZ SX SC SY TC TD TG TH TJ TK TM TL TO TT TN TR TV TW TZ UG UM UY US UZ VA VC VE VG VI VN VU WF WS YE ZA ZM ZW]
GET /api/marketplace-service-providers/
- Security changed
- Deleted security requirements:
HEAD /api/marketplace-service-providers/
- Security changed
- Deleted security requirements:
GET /api/marketplace-service-providers/{service_provider_uuid}/course_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: error_traceback
- Properties changed
- Modified property: error_traceback
- ReadOnly changed from false to true
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: user_has_consent
GET /api/marketplace-service-providers/{uuid}/
- Security changed
- Deleted security requirements:
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ENABLE_MOCK_COURSE_ACCOUNT_BACKEND
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ENABLE_MOCK_COURSE_ACCOUNT_BACKEND
POST /api/project-permissions-reviews/{uuid}/close/
- Extensions changed
- Deleted extension: x-permissions
GET /api/proposal-protected-calls/{uuid}/rounds/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: review_duration_in_days
- Default changed from 7 to null
POST /api/proposal-protected-calls/{uuid}/rounds/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: review_duration_in_days
- Default changed from 7 to null
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: review_duration_in_days
- Default changed from 7 to null
GET /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: review_duration_in_days
- Default changed from 7 to null
PATCH /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: review_duration_in_days
- Default changed from 7 to null
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: review_duration_in_days
- Default changed from 7 to null
PUT /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: review_duration_in_days
- Default changed from 7 to null
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: review_duration_in_days
- Default changed from 7 to null
GET /api/support-issues/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: type
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/IssueTypeEnum
- Type changed from '' to 'string'
- Default changed from 'Informational' to null
POST /api/support-issues/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: type
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/IssueTypeEnum
- Type changed from '' to 'string'
- Default changed from 'Informational' to null
- MinLength changed from 0 to 1
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: type
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/IssueTypeEnum
- Type changed from '' to 'string'
- Default changed from 'Informational' to null
GET /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: type
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/IssueTypeEnum
- Type changed from '' to 'string'
- Default changed from 'Informational' to null
PATCH /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: type
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/IssueTypeEnum
- Type changed from '' to 'string'
- Default changed from 'Informational' to null
PUT /api/support-issues/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: type
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/IssueTypeEnum
- Type changed from '' to 'string'
- Default changed from 'Informational' to null
- MinLength changed from 0 to 1
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: type
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/IssueTypeEnum
- Type changed from '' to 'string'
- Default changed from 'Informational' to null
POST /api/support-issues/{uuid}/sync/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: type
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/IssueTypeEnum
- Type changed from '' to 'string'
- Default changed from 'Informational' to null
- MinLength changed from 0 to 1
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: type
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/IssueTypeEnum
- Type changed from '' to 'string'
- Default changed from 'Informational' to null
GET /api/support-templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: issue_type
- New enum values: [INFORMATIONAL SERVICE_REQUEST CHANGE_REQUEST INCIDENT]
- Deleted enum values: [Informational Service Request Change Request Incident]
POST /api/support-templates/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: issue_type
- New enum values: [INFORMATIONAL SERVICE_REQUEST CHANGE_REQUEST INCIDENT]
- Deleted enum values: [Informational Service Request Change Request Incident]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: issue_type
- New enum values: [INFORMATIONAL SERVICE_REQUEST CHANGE_REQUEST INCIDENT]
- Deleted enum values: [Informational Service Request Change Request Incident]
GET /api/support-templates/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: issue_type
- New enum values: [INFORMATIONAL SERVICE_REQUEST CHANGE_REQUEST INCIDENT]
- Deleted enum values: [Informational Service Request Change Request Incident]
PATCH /api/support-templates/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: issue_type
- New enum values: [INFORMATIONAL SERVICE_REQUEST CHANGE_REQUEST INCIDENT]
- Deleted enum values: [Informational Service Request Change Request Incident]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: issue_type
- New enum values: [INFORMATIONAL SERVICE_REQUEST CHANGE_REQUEST INCIDENT]
- Deleted enum values: [Informational Service Request Change Request Incident]
PUT /api/support-templates/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: issue_type
- New enum values: [INFORMATIONAL SERVICE_REQUEST CHANGE_REQUEST INCIDENT]
- Deleted enum values: [Informational Service Request Change Request Incident]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: issue_type
- New enum values: [INFORMATIONAL SERVICE_REQUEST CHANGE_REQUEST INCIDENT]
- Deleted enum values: [Informational Service Request Change Request Incident]
OpenAPI schema diff - 7.8.0
For version 7.8.0
New Endpoints: 2
POST /api/marketplace-orders/{uuid}/delete_attachment/
POST /api/marketplace-orders/{uuid}/update_attachment/
Deleted Endpoints: 2
POST /api/rancher-clusters/
DELETE /api/rancher-clusters/{uuid}/
Modified Endpoints: 86
POST /api/backend-resources/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
GET /api/booking-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
GET /api/booking-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
GET /api/booking-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
GET /api/booking-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
POST /api/customers/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
PATCH /api/customers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
PUT /api/customers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
GET /api/managed-rancher-cluster-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
GET /api/managed-rancher-cluster-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-offering-users/
- New query param: has_consent
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_consent requires_reconsent]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: has_consent
- New property: requires_reconsent
HEAD /api/marketplace-offering-users/
- New query param: has_consent
POST /api/marketplace-offering-users/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_consent
- New property: requires_reconsent
GET /api/marketplace-offering-users/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_consent requires_reconsent]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_consent
- New property: requires_reconsent
PATCH /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_consent
- New property: requires_reconsent
PUT /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_consent
- New property: requires_reconsent
GET /api/marketplace-orders/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [attachment request_comment]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: request_comment
- Modified property: attributes
- Property 'OneOf' changed
- Schemas deleted: #/components/schemas/MarketplaceRancherCreateOrderAttributes, #/components/schemas/MarketplaceManagedRancherCreateOrderAttributes
- Modified schema: #/components/schemas/OpenStackTenantCreateOrderAttributes
- Properties changed
- Deleted property: user_password
- Deleted property: user_username
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: attachment
- New required property: error_traceback
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
GET /api/marketplace-orders/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [attachment request_comment]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: slug
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
GET /api/marketplace-provider-offerings/{uuid}/list_customer_users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
POST /api/marketplace-provider-offerings/{uuid}/update_overview/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
GET /api/marketplace-provider-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-provider-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-provider-resources/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
- Modified property: slug
- ReadOnly changed from true to false
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-public-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-resources/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
- Modified property: slug
- ReadOnly changed from true to false
POST /api/marketplace-resources/{uuid}/update_limits/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: attachment
- New property: request_comment
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
- Modified property: slug
- ReadOnly changed from true to false
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: deployment_mode
- New property: order_supports_comments_and_metadata
- Modified property: slug
- ReadOnly changed from true to false
POST /api/marketplace-service-providers/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: enable_notifications
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
PATCH /api/marketplace-service-providers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: enable_notifications
PUT /api/marketplace-service-providers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: enable_notifications
POST /api/openstack-tenants/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_password
- New property: user_username
PUT /api/openstack-tenants/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_password
- New property: user_username
GET /api/projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
POST /api/projects/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
GET /api/projects/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
PATCH /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
PUT /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
POST /api/projects/{uuid}/move_project/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
GET /api/promotions-campaigns/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: attachment
- New property: error_traceback
- New property: request_comment
- Modified property: slug
- ReadOnly changed from true to false
POST /api/proposal-protected-calls/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
PATCH /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
PUT /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
PUT /api/rancher-clusters/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: nodes
- Deleted required property: project
- Deleted required property: service_settings
- Properties changed
- Deleted property: nodes
- Deleted property: project
- Deleted property: service_settings
- Deleted property: tenant
POST /api/rancher-clusters/{uuid}/create_management_security_group/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: nodes
- Deleted required property: project
- Deleted required property: service_settings
- Properties changed
- Deleted property: nodes
- Deleted property: project
- Deleted property: service_settings
- Deleted property: tenant
GET /api/users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
POST /api/users/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
GET /api/users/me/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
GET /api/users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
PATCH /api/users/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
PUT /api/users/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- ReadOnly changed from true to false
OpenAPI schema diff - 7.8.1
For version 7.8.1
New Endpoints: 5
GET /api/marketplace-offering-user-checklist-completions/
HEAD /api/marketplace-offering-user-checklist-completions/
GET /api/marketplace-offering-user-checklist-completions/{id}/
GET /api/marketplace-provider-offerings/{uuid}/list_course_accounts/
POST /api/marketplace-provider-offerings/{uuid}/update_compliance_checklist/
Deleted Endpoints: None
Modified Endpoints: 72
POST /api/backend-resources/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/booking-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compliance_checklist]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: compliance_checklist
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
GET /api/booking-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compliance_checklist]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
GET /api/booking-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_customer_name offering_customer_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/booking-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_customer_name offering_customer_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/checklists-admin/
- New query param: checklist_type
- New query param: checklist_type__in
HEAD /api/checklists-admin/
- New query param: checklist_type
- New query param: checklist_type__in
GET /api/checklists-admin/{uuid}/questions/
- New query param: checklist_type
- New query param: checklist_type__in
GET /api/managed-rancher-cluster-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_customer_name offering_customer_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/managed-rancher-cluster-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_customer_name offering_customer_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/marketplace-course-accounts/
- New query param: o
- New query param: project_end_date_after
- New query param: project_end_date_before
- New query param: project_start_date_after
- New query param: project_start_date_before
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: project_end_date
- New required property: project_slug
- New required property: project_start_date
- Properties changed
- New property: project_end_date
- New property: project_slug
- New property: project_start_date
HEAD /api/marketplace-course-accounts/
- New query param: o
- New query param: project_end_date_after
- New query param: project_end_date_before
- New query param: project_start_date_after
- New query param: project_start_date_before
POST /api/marketplace-course-accounts/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: project_end_date
- New required property: project_slug
- New required property: project_start_date
- Properties changed
- New property: project_end_date
- New property: project_slug
- New property: project_start_date
GET /api/marketplace-course-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: project_end_date
- New required property: project_slug
- New required property: project_start_date
- Properties changed
- New property: project_end_date
- New property: project_slug
- New property: project_start_date
GET /api/marketplace-orders/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/marketplace-orders/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
GET /api/marketplace-provider-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compliance_checklist]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: compliance_checklist
- Modified property: integration_status
- Items changed
- Properties changed
- New property: service_name
- Modified property: agent_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/AgentTypeEnum
- Type changed from 'string' to ''
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
GET /api/marketplace-provider-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compliance_checklist]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: integration_status
- Items changed
- Properties changed
- New property: service_name
- Modified property: agent_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/AgentTypeEnum
- Type changed from 'string' to ''
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compliance_checklist]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: integration_status
- Items changed
- Properties changed
- New property: service_name
- Modified property: agent_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/AgentTypeEnum
- Type changed from 'string' to ''
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compliance_checklist]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: integration_status
- Items changed
- Properties changed
- New property: service_name
- Modified property: agent_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/AgentTypeEnum
- Type changed from 'string' to ''
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Request body changed
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compliance_checklist]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: integration_status
- Items changed
- Properties changed
- New property: service_name
- Modified property: agent_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/AgentTypeEnum
- Type changed from 'string' to ''
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: integration_status
- Items changed
- Properties changed
- New property: service_name
- Modified property: agent_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/AgentTypeEnum
- Type changed from 'string' to ''
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: maximal_resource_count_per_project
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compliance_checklist]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: integration_status
- Items changed
- Properties changed
- New property: service_name
- Modified property: agent_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/AgentTypeEnum
- Type changed from 'string' to ''
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
GET /api/marketplace-provider-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_customer_name offering_customer_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/marketplace-provider-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_customer_name offering_customer_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/marketplace-provider-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_customer_name offering_customer_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/marketplace-public-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compliance_checklist]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: compliance_checklist
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
GET /api/marketplace-public-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [compliance_checklist]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
GET /api/marketplace-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_customer_name offering_customer_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/marketplace-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_customer_name offering_customer_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/marketplace-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_customer_name offering_customer_slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-resources/{uuid}/update_limits/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: attachment
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: compliance_checklist
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: maximal_resource_count_per_project
GET /api/marketplace-service-providers/{service_provider_uuid}/course_accounts/
- New query param: o
- New query param: project_end_date_after
- New query param: project_end_date_before
- New query param: project_start_date_after
- New query param: project_start_date_before
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: project_end_date
- New required property: project_slug
- New required property: project_start_date
- Properties changed
- New property: project_end_date
- New property: project_slug
- New property: project_start_date
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [thumbnail]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: thumbnail
GET /api/notification-messages/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: context_fields
- Properties changed
- New property: context_fields
POST /api/notification-messages/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: context_fields
- Properties changed
- New property: context_fields
GET /api/notification-messages/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: context_fields
- Properties changed
- New property: context_fields
PATCH /api/notification-messages/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: context_fields
- Properties changed
- New property: context_fields
PUT /api/notification-messages/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: context_fields
- Properties changed
- New property: context_fields
GET /api/promotions-campaigns/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: offering_customer_name
- New property: offering_customer_slug
- New property: offering_customer_uuid
GET /api/user-group-invitations/
- New query param: is_public
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: created_by_image
- Properties changed
- New property: created_by_image
HEAD /api/user-group-invitations/
- New query param: is_public
POST /api/user-group-invitations/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: created_by_image
- Properties changed
- New property: created_by_image
GET /api/user-group-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: created_by_image
- Properties changed
- New property: created_by_image
GET /api/user-invitations/
- New query param: email_exact
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: created_by_image
- Properties changed
- New property: created_by_image
HEAD /api/user-invitations/
- New query param: email_exact
POST /api/user-invitations/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: created_by_image
- Properties changed
- New property: created_by_image
GET /api/user-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: created_by_image
- Properties changed
- New property: created_by_image
GET /api/user-invitations/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: created_by_image
- Properties changed
- New property: created_by_image
OpenAPI schema diff - 7.8.2
For version 7.8.2
New Endpoints: None
Deleted Endpoints: None
Modified Endpoints: 104
GET /api/booking-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
GET /api/booking-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
GET /api/booking-resources/
- Modified query param: offering_billable
- Schema changed
- Type changed from 'string' to 'boolean'
- Format changed from 'uuid' to ''
HEAD /api/booking-resources/
- Modified query param: offering_billable
- Schema changed
- Type changed from 'string' to 'boolean'
- Format changed from 'uuid' to ''
POST /api/call-managing-organisations/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PATCH /api/call-managing-organisations/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PUT /api/call-managing-organisations/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
GET /api/call-rounds/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: slug
GET /api/call-rounds/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
POST /api/checklists-admin-categories/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PATCH /api/checklists-admin-categories/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PUT /api/checklists-admin-categories/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
GET /api/customers/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [notification_emails]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: notification_emails
POST /api/customers/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notification_emails
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notification_emails
GET /api/customers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [notification_emails]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notification_emails
PATCH /api/customers/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notification_emails
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notification_emails
PUT /api/customers/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notification_emails
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: notification_emails
POST /api/external-links/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PATCH /api/external-links/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PUT /api/external-links/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
POST /api/invoices/{uuid}/paid/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
POST /api/marketplace-categories/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PATCH /api/marketplace-categories/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PUT /api/marketplace-categories/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
POST /api/marketplace-category-groups/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PATCH /api/marketplace-category-groups/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PUT /api/marketplace-category-groups/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
POST /api/marketplace-offering-files/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
GET /api/marketplace-offering-user-checklist-completions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_user
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingUser
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingUserState
- Schemas deleted: #/components/schemas/OfferingUserStateEnum
GET /api/marketplace-offering-user-checklist-completions/{id}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_user
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingUser
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingUserState
- Schemas deleted: #/components/schemas/OfferingUserStateEnum
GET /api/marketplace-offering-users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingUserState
- Schemas deleted: #/components/schemas/OfferingUserStateEnum
POST /api/marketplace-offering-users/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingUserState
- Schemas deleted: #/components/schemas/OfferingUserStateEnum
GET /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingUserState
- Schemas deleted: #/components/schemas/OfferingUserStateEnum
PATCH /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingUserState
- Schemas deleted: #/components/schemas/OfferingUserStateEnum
PUT /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingUserState
- Schemas deleted: #/components/schemas/OfferingUserStateEnum
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
POST /api/marketplace-orders/{uuid}/update_attachment/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
GET /api/marketplace-provider-offerings/{uuid}/list_course_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
POST /api/marketplace-provider-offerings/{uuid}/update_thumbnail/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
GET /api/marketplace-provider-resources/
- Modified query param: offering_billable
- Schema changed
- Type changed from 'string' to 'boolean'
- Format changed from 'uuid' to ''
HEAD /api/marketplace-provider-resources/
- Modified query param: offering_billable
- Schema changed
- Type changed from 'string' to 'boolean'
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
GET /api/marketplace-provider-resources/{uuid}/team/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: offering_user_state
- Properties changed
- New property: offering_user_state
GET /api/marketplace-public-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
GET /api/marketplace-resources/
- Modified query param: offering_billable
- Schema changed
- Type changed from 'string' to 'boolean'
- Format changed from 'uuid' to ''
HEAD /api/marketplace-resources/
- Modified query param: offering_billable
- Schema changed
- Type changed from 'string' to 'boolean'
- Format changed from 'uuid' to ''
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
GET /api/marketplace-resources/{uuid}/team/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: offering_user_state
- Properties changed
- New property: offering_user_state
POST /api/marketplace-screenshots/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PUT /api/marketplace-screenshots/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: compliance_checklist
- Description changed from 'Checklist that offering users must complete for compliance' to ''
POST /api/marketplace-service-providers/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PATCH /api/marketplace-service-providers/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PUT /api/marketplace-service-providers/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: OIDC_BLOCK_CREATION_OF_UNINVITED_USERS
POST /api/override-settings/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: OIDC_BLOCK_CREATION_OF_UNINVITED_USERS
POST /api/payments/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PATCH /api/payments/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PUT /api/payments/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
POST /api/projects/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PATCH /api/projects/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PUT /api/projects/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
GET /api/proposal-proposals/
- Modified query param: o
- Schema changed
- Items changed
- New enum values: [-slug slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
- Modified property: round
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRound
- Properties changed
- New property: slug
HEAD /api/proposal-proposals/
- Modified query param: o
- Schema changed
- Items changed
- New enum values: [-slug slug]
POST /api/proposal-proposals/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
- Modified property: round
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRound
- Properties changed
- New property: slug
GET /api/proposal-proposals/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
- Modified property: round
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRound
- Properties changed
- New property: slug
POST /api/proposal-proposals/{uuid}/attach_document/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
GET /api/proposal-protected-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: rounds
- Items changed
- Properties changed
- New property: slug
POST /api/proposal-protected-calls/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rounds
- Items changed
- Properties changed
- New property: slug
GET /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rounds
- Items changed
- Properties changed
- New property: slug
PATCH /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rounds
- Items changed
- Properties changed
- New property: slug
PUT /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rounds
- Items changed
- Properties changed
- New property: slug
POST /api/proposal-protected-calls/{uuid}/activate/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rounds
- Items changed
- Properties changed
- New property: slug
POST /api/proposal-protected-calls/{uuid}/archive/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rounds
- Items changed
- Properties changed
- New property: slug
GET /api/proposal-protected-calls/{uuid}/rounds/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
- Modified property: proposals
- Items changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
POST /api/proposal-protected-calls/{uuid}/rounds/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
- Modified property: proposals
- Items changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
GET /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
- Modified property: proposals
- Items changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
PATCH /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
- Modified property: proposals
- Items changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
PUT /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
- Modified property: proposals
- Items changed
- Required changed
- New required property: slug
- Properties changed
- New property: slug
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rounds
- Items changed
- Properties changed
- New property: slug
GET /api/proposal-public-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: rounds
- Items changed
- Properties changed
- New property: slug
GET /api/proposal-public-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rounds
- Items changed
- Properties changed
- New property: slug
GET /api/proposal-reviews/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: call_slug
- New required property: created
- New required property: modified
- New required property: proposal_slug
- New required property: round_slug
- Properties changed
- New property: call_slug
- New property: created
- New property: modified
- New property: proposal_slug
- New property: round_slug
POST /api/proposal-reviews/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_slug
- New required property: created
- New required property: modified
- New required property: proposal_slug
- New required property: round_slug
- Properties changed
- New property: call_slug
- New property: created
- New property: modified
- New property: proposal_slug
- New property: round_slug
GET /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_slug
- New required property: created
- New required property: modified
- New required property: proposal_slug
- New required property: round_slug
- Properties changed
- New property: call_slug
- New property: created
- New property: modified
- New property: proposal_slug
- New property: round_slug
PATCH /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_slug
- New required property: created
- New required property: modified
- New required property: proposal_slug
- New required property: round_slug
- Properties changed
- New property: call_slug
- New property: created
- New property: modified
- New property: proposal_slug
- New property: round_slug
PUT /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: call_slug
- New required property: created
- New required property: modified
- New required property: proposal_slug
- New required property: round_slug
- Properties changed
- New property: call_slug
- New property: created
- New property: modified
- New property: proposal_slug
- New property: round_slug
POST /api/slurm-jobs/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PUT /api/slurm-jobs/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
POST /api/support-attachments/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
POST /api/users/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PATCH /api/users/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
PUT /api/users/{uuid}/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
OpenAPI schema diff - 7.8.3
For version 7.8.3
New Endpoints: 5
GET /api/marketplace-service-providers/{service_provider_uuid}/compliance/checklists_summary/
POST /api/openstack-network-rbac-policies/
DELETE /api/openstack-network-rbac-policies/{uuid}/
PATCH /api/openstack-network-rbac-policies/{uuid}/
PUT /api/openstack-network-rbac-policies/{uuid}/
Deleted Endpoints: None
Modified Endpoints: 93
POST /api/backend-resources/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/booking-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/booking-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/booking-resources/
- New query param: plan_uuid
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_slug]
- Deleted enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
HEAD /api/booking-resources/
- New query param: plan_uuid
GET /api/booking-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_slug]
- Deleted enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/hooks-email/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
POST /api/hooks-email/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
GET /api/hooks-email/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
PATCH /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
PUT /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
GET /api/hooks-web/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
POST /api/hooks-web/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
GET /api/hooks-web/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
PATCH /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
PUT /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- Items changed
- New enum values: [terms_of_service]
- Modified property: event_types
- Items changed
- New enum values: [terms_of_service_consent_granted terms_of_service_consent_revoked]
GET /api/managed-rancher-cluster-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_slug]
- Deleted enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/managed-rancher-cluster-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_slug]
- Deleted enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/marketplace-orders/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_slug]
- Deleted enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: attributes
- Property 'OneOf' changed
- Modified schema: #/components/schemas/AzureVirtualMachineCreateOrderAttributes
- Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' to '' - Modified schema: #/components/schemas/AzureSQLServerCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' to '' - Modified schema: #/components/schemas/OpenStackTenantCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' to '' - Modified schema: #/components/schemas/OpenStackInstanceCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' to '' - Properties changed - New property: server_group - Modified property: floating_ips - WriteOnly changed from false to true - Items changed - Properties changed - New property: url - Modified property: ports - WriteOnly changed from false to true - Items changed - Properties changed - Modified property: port - WriteOnly changed from true to false - Modified property: security_groups - Description changed from 'Security groups to attach to the instance' to 'List of security groups to apply to the instance' - WriteOnly changed from false to true - Items changed - Required changed - New required property: url - Modified schema: #/components/schemas/OpenStackVolumeCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' to '' - Modified schema: #/components/schemas/SlurmInvoicesSlurmPackageCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' to '' - Modified schema: #/components/schemas/VMwareVirtualMachineCreateOrderAttributes - Description changed from 'This mixin allows to specify list of fields to be rendered by serializer. It expects that request is available in serializer's context.
It is disabled for nested serializers (where parent is another serializer) but remains active for list views (where parent is a ListSerializer).' to '' - Modified schema: #/components/schemas/GenericOrderAttributes - Description changed from 'A generic JSON object for offerings without a predefined schema. Allows any key-value pairs.' to ''
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: provider_slug
- Properties changed
- New property: provider_slug
GET /api/marketplace-orders/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_slug]
- Deleted enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/marketplace-project-update-requests/
- New query param: provider_uuid
- Deleted query param: offering_customer_uuid
HEAD /api/marketplace-project-update-requests/
- New query param: provider_uuid
- Deleted query param: offering_customer_uuid
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/marketplace-provider-offerings/{uuid}/list_course_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: conceal_billing_data
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/marketplace-provider-resources/
- New query param: plan_uuid
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_slug]
- Deleted enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
HEAD /api/marketplace-provider-resources/
- New query param: plan_uuid
GET /api/marketplace-provider-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_slug]
- Deleted enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/marketplace-provider-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_slug]
- Deleted enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Request body changed
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/marketplace-public-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/marketplace-resources/
- New query param: plan_uuid
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_slug]
- Deleted enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
HEAD /api/marketplace-resources/
- New query param: plan_uuid
GET /api/marketplace-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_slug]
- Deleted enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/marketplace-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_slug]
- Deleted enum values: [offering_customer_name offering_customer_slug offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
POST /api/marketplace-resources/{uuid}/move_resource/
- Request body changed
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/marketplace-robot-accounts/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_name provider_uuid]
- Deleted enum values: [offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: provider_name
- New property: provider_uuid
- Deleted property: offering_customer_uuid
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/marketplace-robot-accounts/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [provider_name provider_uuid]
- Deleted enum values: [offering_customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_name
- New property: provider_uuid
- Deleted property: offering_customer_uuid
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_name
- New property: provider_uuid
- Deleted property: offering_customer_uuid
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_name
- New property: provider_uuid
- Deleted property: offering_customer_uuid
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_name
- New property: provider_uuid
- Deleted property: offering_customer_uuid
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_name
- New property: provider_uuid
- Deleted property: offering_customer_uuid
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: provider_name
- New property: provider_uuid
- Deleted property: offering_customer_uuid
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: conceal_billing_data
GET /api/openstack-backups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Description changed from 'Floating IPs that will be assigned to the restored instance' to ''
- Modified property: ports
- Description changed from 'Network ports that will be attached to the restored instance' to ''
- Modified property: security_groups
- Description changed from 'Security groups that will be assigned to the restored instance' to ''
GET /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Description changed from 'Floating IPs that will be assigned to the restored instance' to ''
- Modified property: ports
- Description changed from 'Network ports that will be attached to the restored instance' to ''
- Modified property: security_groups
- Description changed from 'Security groups that will be assigned to the restored instance' to ''
PATCH /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Description changed from 'Floating IPs that will be assigned to the restored instance' to ''
- Modified property: ports
- Description changed from 'Network ports that will be attached to the restored instance' to ''
- Modified property: security_groups
- Description changed from 'Security groups that will be assigned to the restored instance' to ''
PUT /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Description changed from 'Floating IPs that will be assigned to the restored instance' to ''
- Modified property: ports
- Description changed from 'Network ports that will be attached to the restored instance' to ''
- Modified property: security_groups
- Description changed from 'Security groups that will be assigned to the restored instance' to ''
POST /api/openstack-backups/{uuid}/restore/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: security_groups
- Modified property: floating_ips
- Items changed
- Properties changed
- New property: url
- Modified property: ports
- Items changed
- Properties changed
- Modified property: port
- WriteOnly changed from true to false
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Description changed from 'Floating IPs to assign to the instance' to ''
- Modified property: ports
- Description changed from 'Network ports to attach to the instance' to ''
- Modified property: security_groups
- Description changed from 'List of security groups to apply to the instance' to ''
- Modified property: server_group
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/OpenStackNestedServerGroup
- Type changed from '' to 'object'
- Description changed from 'Server group for instance scheduling policy' to ''
- Nullable changed from true to false
- Properties changed
- New property: name
- New property: policy
- New property: state
- New property: url
GET /api/openstack-instances/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [data_volume_size data_volume_type data_volumes flavor image system_volume_size system_volume_type]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: floating_ips
- Description changed from 'Floating IPs to assign to the instance' to ''
- Modified property: ports
- Description changed from 'Network ports to attach to the instance' to ''
- Modified property: security_groups
- Description changed from 'List of security groups to apply to the instance' to ''
- Modified property: server_group
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/OpenStackNestedServerGroup
- Type changed from '' to 'object'
- Description changed from 'Server group for instance scheduling policy' to ''
- Nullable changed from true to false
- Properties changed
- New property: name
- New property: policy
- New property: state
- New property: url
GET /api/openstack-instances/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [data_volume_size data_volume_type data_volumes flavor image system_volume_size system_volume_type]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Description changed from 'Floating IPs to assign to the instance' to ''
- Modified property: ports
- Description changed from 'Network ports to attach to the instance' to ''
- Modified property: security_groups
- Description changed from 'List of security groups to apply to the instance' to ''
- Modified property: server_group
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/OpenStackNestedServerGroup
- Type changed from '' to 'object'
- Description changed from 'Server group for instance scheduling policy' to ''
- Nullable changed from true to false
- Properties changed
- New property: name
- New property: policy
- New property: state
- New property: url
PATCH /api/openstack-instances/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: data_volume_type
- Deleted property: data_volumes
- Deleted property: system_volume_type
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Description changed from 'Floating IPs to assign to the instance' to ''
- Modified property: ports
- Description changed from 'Network ports to attach to the instance' to ''
- Modified property: security_groups
- Description changed from 'List of security groups to apply to the instance' to ''
- Modified property: server_group
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/OpenStackNestedServerGroup
- Type changed from '' to 'object'
- Description changed from 'Server group for instance scheduling policy' to ''
- Nullable changed from true to false
- Properties changed
- New property: name
- New property: policy
- New property: state
- New property: url
PUT /api/openstack-instances/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: data_volume_type
- Deleted property: data_volumes
- Deleted property: system_volume_type
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Description changed from 'Floating IPs to assign to the instance' to ''
- Modified property: ports
- Description changed from 'Network ports to attach to the instance' to ''
- Modified property: security_groups
- Description changed from 'List of security groups to apply to the instance' to ''
- Modified property: server_group
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/OpenStackNestedServerGroup
- Type changed from '' to 'object'
- Description changed from 'Server group for instance scheduling policy' to ''
- Nullable changed from true to false
- Properties changed
- New property: name
- New property: policy
- New property: state
- New property: url
POST /api/openstack-instances/{uuid}/backup/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: floating_ips
- Description changed from 'Floating IPs that will be assigned to the restored instance' to ''
- Modified property: ports
- Description changed from 'Network ports that will be attached to the restored instance' to ''
- Modified property: security_groups
- Description changed from 'Security groups that will be assigned to the restored instance' to ''
POST /api/openstack-instances/{uuid}/update_floating_ips/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- New property: url
POST /api/openstack-instances/{uuid}/update_ports/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: port
- WriteOnly changed from true to false
GET /api/openstack-network-rbac-policies/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: network
- ReadOnly changed from true to false
GET /api/openstack-network-rbac-policies/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: network
- ReadOnly changed from true to false
GET /api/openstack-networks/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: rbac_policies
- Items changed
- Properties changed
- Modified property: network
- ReadOnly changed from true to false
GET /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rbac_policies
- Items changed
- Properties changed
- Modified property: network
- ReadOnly changed from true to false
PATCH /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rbac_policies
- Items changed
- Properties changed
- Modified property: network
- ReadOnly changed from true to false
PUT /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rbac_policies
- Items changed
- Properties changed
- Modified property: network
- ReadOnly changed from true to false
POST /api/openstack-networks/{uuid}/rbac_policy_create/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: backend_id
- New required property: created
- New required property: network
- New required property: network_name
- New required property: target_tenant
- New required property: target_tenant_name
- New required property: url
- New required property: uuid
POST /api/openstack-tenants/{uuid}/create_network/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rbac_policies
- Items changed
- Properties changed
- Modified property: network
- ReadOnly changed from true to false
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: OIDC_ACCESS_TOKEN_ENABLED
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: OIDC_ACCESS_TOKEN_ENABLED
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: OIDC_ACCESS_TOKEN_ENABLED
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: OIDC_ACCESS_TOKEN_ENABLED
GET /api/promotions-campaigns/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: provider_slug
- Deleted property: offering_customer_name
- Deleted property: offering_customer_slug
- Deleted property: offering_customer_uuid
GET /api/rancher-clusters/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [security_groups]
GET /api/rancher-clusters/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [security_groups]
POST /api/rancher-services/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: target_workloads
- Items changed
- Required changed
- New required property: url
- Deleted required property: name
- Properties changed
- New property: url
- Deleted property: name
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: access_url
- New required property: created
- New required property: customer
- New required property: customer_abbreviation
- New required property: customer_name
- New required property: customer_native_name
- New required property: is_limit_based
- New required property: is_usage_based
- New required property: marketplace_category_name
- New required property: marketplace_category_uuid
- New required property: marketplace_offering_name
- New required property: marketplace_offering_plugin_options
- New required property: marketplace_offering_uuid
- New required property: marketplace_plan_uuid
- New required property: marketplace_resource_state
- New required property: marketplace_resource_uuid
- New required property: modified
- New required property: name
- New required property: namespace_name
- New required property: project
- New required property: project_name
- New required property: project_uuid
- New required property: resource_type
- New required property: service_name
- New required property: service_settings
- New required property: service_settings_error_message
- New required property: service_settings_state
- New required property: service_settings_uuid
- New required property: state
- New required property: url
- New required property: uuid
- Properties changed
- Modified property: target_workloads
- Items changed
- Required changed
- New required property: url
- Properties changed
- Deleted property: name
- Deleted property: uuid
- Modified property: url
- ReadOnly changed from true to false
PUT /api/rancher-services/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: target_workloads
PUT /api/rancher-services/{uuid}/yaml/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: target_workloads
POST /api/vmware-virtual-machine/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: networks
- Items changed
- Required changed
- New required property: url
- Deleted required property: name
- Deleted required property: type
- Properties changed
- New property: url
- Deleted property: name
- Deleted property: type
PUT /api/vmware-virtual-machine/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: networks
- Items changed
- Required changed
- New required property: url
- Deleted required property: name
- Deleted required property: type
- Properties changed
- New property: url
- Deleted property: name
- Deleted property: type
OpenAPI schema diff - 7.8.4
For version 7.8.4
New Endpoints: 28
GET /api/marketplace-offering-users/checklist-template/
HEAD /api/marketplace-offering-users/checklist-template/
GET /api/marketplace-provider-offerings/{uuid}/tos_stats/
POST /api/marketplace-provider-resources/{uuid}/update_options/
POST /api/marketplace-resources/{uuid}/renew/
GET /api/onboarding-justifications/
HEAD /api/onboarding-justifications/
POST /api/onboarding-justifications/
POST /api/onboarding-justifications/create_justification/
DELETE /api/onboarding-justifications/{uuid}/
GET /api/onboarding-justifications/{uuid}/
PATCH /api/onboarding-justifications/{uuid}/
PUT /api/onboarding-justifications/{uuid}/
POST /api/onboarding-justifications/{uuid}/attach_document/
GET /api/onboarding-verifications/
HEAD /api/onboarding-verifications/
POST /api/onboarding-verifications/
POST /api/onboarding-verifications/validate_company/
DELETE /api/onboarding-verifications/{uuid}/
GET /api/onboarding-verifications/{uuid}/
PATCH /api/onboarding-verifications/{uuid}/
PUT /api/onboarding-verifications/{uuid}/
POST /api/onboarding-verifications/{uuid}/create_customer/
GET /api/onboarding/supported-countries/
GET /api/projects/checklist-template/
HEAD /api/projects/checklist-template/
GET /api/proposal-proposals/checklist-template/
HEAD /api/proposal-proposals/checklist-template/
Deleted Endpoints: None
Modified Endpoints: 131
POST /api/backend-resources/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/booking-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
GET /api/booking-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
GET /api/booking-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/booking-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/call-rounds/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
GET /api/call-rounds/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
GET /api/customers/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [display_billing_info_in_projects]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: display_billing_info_in_projects
POST /api/customers/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: display_billing_info_in_projects
GET /api/customers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [display_billing_info_in_projects]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: display_billing_info_in_projects
PATCH /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: display_billing_info_in_projects
PUT /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: display_billing_info_in_projects
GET /api/hooks-email/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
POST /api/hooks-email/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
GET /api/hooks-email/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
PATCH /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
PUT /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
GET /api/hooks-web/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
POST /api/hooks-web/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
GET /api/hooks-web/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
PATCH /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
PUT /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [automatic_credit_adjustment]
GET /api/managed-rancher-cluster-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/managed-rancher-cluster-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: attributes
- Property 'OneOf' changed
- Modified schema: #/components/schemas/OpenStackInstanceCreateOrderAttributes
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- New property: ip_address
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-orders/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-provider-offerings/{uuid}/create_offering_component/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-offerings/{uuid}/list_course_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_display_billing_info_in_projects
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-provider-offerings/{uuid}/update_offering_component/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
GET /api/marketplace-provider-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-resources/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-public-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
GET /api/marketplace-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-resources/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-resources/{uuid}/update_options/
- Extensions changed
- Modified extension: x-permissions
- Added /0/scopes/- with value: 'offering.customer'
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: project_permanent_directory
- New property: scratch_project_directory
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_display_billing_info_in_projects]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_display_billing_info_in_projects
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
GET /api/notification-messages-templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: content
- Nullable changed from false to true
POST /api/notification-messages-templates/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: content
- Nullable changed from false to true
GET /api/notification-messages-templates/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: content
- Nullable changed from false to true
PATCH /api/notification-messages-templates/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: content
- Nullable changed from false to true
PUT /api/notification-messages-templates/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: content
- Nullable changed from false to true
GET /api/notification-messages/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: context_schema
- Deleted required property: context_fields
- Properties changed
- New property: context_schema
- Deleted property: context_fields
- Modified property: templates
- Items changed
- Properties changed
- Modified property: content
- Nullable changed from false to true
POST /api/notification-messages/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: context_schema
- Deleted required property: context_fields
- Properties changed
- New property: context_schema
- Deleted property: context_fields
- Modified property: templates
- Items changed
- Properties changed
- Modified property: content
- Nullable changed from false to true
GET /api/notification-messages/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: context_schema
- Deleted required property: context_fields
- Properties changed
- New property: context_schema
- Deleted property: context_fields
- Modified property: templates
- Items changed
- Properties changed
- Modified property: content
- Nullable changed from false to true
PATCH /api/notification-messages/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: context_schema
- Deleted required property: context_fields
- Properties changed
- New property: context_schema
- Deleted property: context_fields
- Modified property: templates
- Items changed
- Properties changed
- Modified property: content
- Nullable changed from false to true
PUT /api/notification-messages/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: context_schema
- Deleted required property: context_fields
- Properties changed
- New property: context_schema
- Deleted property: context_fields
- Modified property: templates
- Items changed
- Properties changed
- Modified property: content
- Nullable changed from false to true
POST /api/openstack-backups/{uuid}/restore/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- New property: ip_address
POST /api/openstack-instances/{uuid}/update_floating_ips/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: floating_ips
- Items changed
- Properties changed
- New property: ip_address
GET /api/openstack-network-rbac-policies/
- New query param: tenant
- New query param: tenant_uuid
HEAD /api/openstack-network-rbac-policies/
- New query param: tenant
- New query param: tenant_uuid
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ONBOARDING_ARIREGISTER_BASE_URL
- New property: ONBOARDING_ARIREGISTER_PASSWORD
- New property: ONBOARDING_ARIREGISTER_TIMEOUT
- New property: ONBOARDING_ARIREGISTER_USERNAME
- New property: ONBOARDING_VERIFICATION_EXPIRY_HOURS
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ONBOARDING_ARIREGISTER_BASE_URL
- New property: ONBOARDING_ARIREGISTER_PASSWORD
- New property: ONBOARDING_ARIREGISTER_TIMEOUT
- New property: ONBOARDING_ARIREGISTER_USERNAME
- New property: ONBOARDING_VERIFICATION_EXPIRY_HOURS
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: ONBOARDING_ARIREGISTER_BASE_URL
- New property: ONBOARDING_ARIREGISTER_PASSWORD
- New property: ONBOARDING_ARIREGISTER_TIMEOUT
- New property: ONBOARDING_ARIREGISTER_USERNAME
- New property: ONBOARDING_VERIFICATION_EXPIRY_HOURS
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: ONBOARDING_ARIREGISTER_BASE_URL
- New property: ONBOARDING_ARIREGISTER_PASSWORD
- New property: ONBOARDING_ARIREGISTER_TIMEOUT
- New property: ONBOARDING_ARIREGISTER_USERNAME
- New property: ONBOARDING_VERIFICATION_EXPIRY_HOURS
GET /api/project-credits/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: mark_unused_credit_as_spent_on_project_termination
POST /api/project-credits/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: mark_unused_credit_as_spent_on_project_termination
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: mark_unused_credit_as_spent_on_project_termination
GET /api/project-credits/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: mark_unused_credit_as_spent_on_project_termination
PATCH /api/project-credits/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: mark_unused_credit_as_spent_on_project_termination
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: mark_unused_credit_as_spent_on_project_termination
PUT /api/project-credits/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: mark_unused_credit_as_spent_on_project_termination
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: mark_unused_credit_as_spent_on_project_termination
GET /api/projects/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_display_billing_info_in_projects]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_display_billing_info_in_projects
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
POST /api/projects/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_display_billing_info_in_projects
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
GET /api/projects/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_display_billing_info_in_projects]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_display_billing_info_in_projects
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
PATCH /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_display_billing_info_in_projects
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
PUT /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_display_billing_info_in_projects
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
POST /api/projects/{uuid}/move_project/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_display_billing_info_in_projects
- Modified property: end_date
- Description changed from 'The date is inclusive. Once reached, all project resource will be scheduled for termination.' to ''
GET /api/promotions-campaigns/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- Modified property: provider_slug
- Format changed from 'uuid' to ''
- Modified property: provider_slug
- Format changed from 'uuid' to ''
GET /api/proposal-proposals/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: round
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRound
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
POST /api/proposal-proposals/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: round
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRound
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
GET /api/proposal-proposals/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: round
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRound
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
GET /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
POST /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
GET /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
PATCH /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
PUT /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
GET /api/proposal-protected-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: rounds
- Items changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
POST /api/proposal-protected-calls/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: rounds
- Items changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
GET /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: rounds
- Items changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
PATCH /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: rounds
- Items changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
PUT /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: rounds
- Items changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
POST /api/proposal-protected-calls/{uuid}/activate/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: rounds
- Items changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
POST /api/proposal-protected-calls/{uuid}/archive/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: rounds
- Items changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
GET /api/proposal-protected-calls/{uuid}/offerings/
- New query param: state
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
POST /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
GET /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
PATCH /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
PUT /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
GET /api/proposal-protected-calls/{uuid}/rounds/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
POST /api/proposal-protected-calls/{uuid}/rounds/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
GET /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
PATCH /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
PUT /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: rounds
- Items changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
GET /api/proposal-public-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: rounds
- Items changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
GET /api/proposal-public-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
- Modified property: rounds
- Items changed
- Properties changed
- Modified property: status
- Property 'AllOf' changed
- Schemas added: #/components/schemas/RoundStatus
- Schemas deleted: #/components/schemas/StatusEnum
GET /api/proposal-requested-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
GET /api/proposal-requested-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
GET /api/proposal-requested-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
GET /api/proposal-requested-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- New property: is_prepaid
- New property: max_prepaid_duration
- New property: min_prepaid_duration
- New property: overage_component
OpenAPI schema diff - 7.8.5
For version 7.8.5
New Endpoints: 71
GET /api/marketplace-customer-component-usage-policies/
HEAD /api/marketplace-customer-component-usage-policies/
POST /api/marketplace-customer-component-usage-policies/
GET /api/marketplace-customer-component-usage-policies/actions/
HEAD /api/marketplace-customer-component-usage-policies/actions/
DELETE /api/marketplace-customer-component-usage-policies/{uuid}/
GET /api/marketplace-customer-component-usage-policies/{uuid}/
PATCH /api/marketplace-customer-component-usage-policies/{uuid}/
PUT /api/marketplace-customer-component-usage-policies/{uuid}/
POST /api/marketplace-orders/{uuid}/set_backend_id/
POST /api/marketplace-plans/{uuid}/update_discounts/
POST /api/marketplace-provider-offerings/{uuid}/add_partition/
POST /api/marketplace-provider-offerings/{uuid}/add_software_catalog/
POST /api/marketplace-provider-offerings/{uuid}/remove_partition/
POST /api/marketplace-provider-offerings/{uuid}/remove_software_catalog/
PATCH /api/marketplace-provider-offerings/{uuid}/update_partition/
PATCH /api/marketplace-provider-offerings/{uuid}/update_software_catalog/
POST /api/marketplace-provider-resources/{uuid}/set_downscaled/
POST /api/marketplace-provider-resources/{uuid}/set_paused/
POST /api/marketplace-provider-resources/{uuid}/set_restrict_member_access/
POST /api/marketplace-resources/{uuid}/set_downscaled/
POST /api/marketplace-resources/{uuid}/set_paused/
POST /api/marketplace-resources/{uuid}/set_restrict_member_access/
GET /api/marketplace-site-agent-identities/
HEAD /api/marketplace-site-agent-identities/
POST /api/marketplace-site-agent-identities/
DELETE /api/marketplace-site-agent-identities/{uuid}/
GET /api/marketplace-site-agent-identities/{uuid}/
PUT /api/marketplace-site-agent-identities/{uuid}/
POST /api/marketplace-site-agent-identities/{uuid}/register_event_subscription/
POST /api/marketplace-site-agent-identities/{uuid}/register_service/
GET /api/marketplace-site-agent-processors/
HEAD /api/marketplace-site-agent-processors/
GET /api/marketplace-site-agent-processors/{uuid}/
GET /api/marketplace-site-agent-services/
HEAD /api/marketplace-site-agent-services/
GET /api/marketplace-site-agent-services/{uuid}/
POST /api/marketplace-site-agent-services/{uuid}/register_processor/
POST /api/marketplace-site-agent-services/{uuid}/set_statistics/
GET /api/marketplace-software-catalogs/
HEAD /api/marketplace-software-catalogs/
POST /api/marketplace-software-catalogs/
DELETE /api/marketplace-software-catalogs/{uuid}/
GET /api/marketplace-software-catalogs/{uuid}/
PATCH /api/marketplace-software-catalogs/{uuid}/
PUT /api/marketplace-software-catalogs/{uuid}/
GET /api/marketplace-software-packages/
HEAD /api/marketplace-software-packages/
POST /api/marketplace-software-packages/
DELETE /api/marketplace-software-packages/{uuid}/
GET /api/marketplace-software-packages/{uuid}/
PATCH /api/marketplace-software-packages/{uuid}/
PUT /api/marketplace-software-packages/{uuid}/
GET /api/marketplace-software-targets/
HEAD /api/marketplace-software-targets/
POST /api/marketplace-software-targets/
DELETE /api/marketplace-software-targets/{uuid}/
GET /api/marketplace-software-targets/{uuid}/
PATCH /api/marketplace-software-targets/{uuid}/
PUT /api/marketplace-software-targets/{uuid}/
GET /api/marketplace-software-versions/
HEAD /api/marketplace-software-versions/
POST /api/marketplace-software-versions/
DELETE /api/marketplace-software-versions/{uuid}/
GET /api/marketplace-software-versions/{uuid}/
PATCH /api/marketplace-software-versions/{uuid}/
PUT /api/marketplace-software-versions/{uuid}/
POST /api/onboarding-justifications/{uuid}/approve/
POST /api/onboarding-justifications/{uuid}/reject/
POST /api/projects/{uuid}/recover/
POST /api/remote-waldur-api/pull_resource_robot_accounts/{uuid}/
Deleted Endpoints: None
Modified Endpoints: 424
GET /api/access-subnets/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/access-subnets/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/access-subnets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/access-subnets/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/access-subnets/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/admin-announcements/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/admin-announcements/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/admin-announcements/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/admin-announcements/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/admin-announcements/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/aws-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/aws-instances/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/aws-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/aws-instances/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/aws-instances/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/aws-volumes/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/aws-volumes/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/aws-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/aws-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/aws-volumes/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/azure-public-ips/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/azure-public-ips/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/azure-public-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/azure-public-ips/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/azure-public-ips/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/azure-resource-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/azure-resource-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/azure-sql-databases/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/azure-sql-databases/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/azure-sql-databases/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/azure-sql-databases/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/azure-sql-databases/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/azure-sql-servers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/azure-sql-servers/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/azure-sql-servers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/azure-sql-servers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/azure-sql-servers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/azure-sql-servers/{uuid}/create_database/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/azure-virtualmachines/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/azure-virtualmachines/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/azure-virtualmachines/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/azure-virtualmachines/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/azure-virtualmachines/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/backend-resources/{uuid}/import_resource/
- Responses changed
- New response: 201
- Deleted response: 200
GET /api/booking-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [partitions software_catalogs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/booking-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [partitions software_catalogs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/booking-resources/
- New query param: component_count
- New query param: limit_based
- New query param: limit_component_count
- New query param: only_limit_based
- New query param: only_usage_based
- New query param: usage_based
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [renewal_date]
- Modified query param: query
- Description changed from 'Search by resource UUID, name, backend ID, effective ID, IPs or hypervisor' to 'Search by resource UUID, name, slug, backend ID, effective ID, IPs or hypervisor'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
HEAD /api/booking-resources/
- New query param: component_count
- New query param: limit_based
- New query param: limit_component_count
- New query param: only_limit_based
- New query param: only_usage_based
- New query param: usage_based
- Modified query param: query
- Description changed from 'Search by resource UUID, name, backend ID, effective ID, IPs or hypervisor' to 'Search by resource UUID, name, slug, backend ID, effective ID, IPs or hypervisor'
GET /api/booking-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [renewal_date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/call-managing-organisations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/call-managing-organisations/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/call-managing-organisations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/call-managing-organisations/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/call-managing-organisations/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/call-managing-organisations/{uuid}/add_user/
- Responses changed
- New response: 400
GET /api/checklists-admin-categories/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/checklists-admin-categories/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/checklists-admin-categories/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/checklists-admin-categories/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/checklists-admin-categories/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/checklists-admin-questions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/checklists-admin-questions/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/checklists-admin-questions/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/checklists-admin-questions/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/checklists-admin-questions/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/checklists-admin/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/checklists-admin/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/checklists-admin/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/checklists-admin/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/checklists-admin/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/checklists-admin/{uuid}/questions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/customers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/customers/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/customers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/customers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/customers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/customers/{uuid}/add_user/
- Responses changed
- New response: 400
GET /api/digitalocean-droplets/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/digitalocean-droplets/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/digitalocean-droplets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/digitalocean-droplets/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/digitalocean-droplets/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/event-subscriptions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/event-subscriptions/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/event-subscriptions/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/external-links/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/external-links/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/external-links/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/external-links/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/external-links/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/google-auth/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/google-auth/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/google-auth/{uuid}/authorize/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/lexis-links/
- Extensions changed
- Deleted extension: x-permissions
GET /api/managed-rancher-cluster-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [renewal_date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/managed-rancher-cluster-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [renewal_date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/marketplace-categories/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-categories/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-categories/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/marketplace-categories/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/marketplace-categories/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-category-components/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-category-components/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-category-components/{id}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/marketplace-category-components/{id}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/marketplace-category-components/{id}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-component-usages/
- New query param: billing_period_month
- New query param: billing_period_year
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
HEAD /api/marketplace-component-usages/
- New query param: billing_period_month
- New query param: billing_period_year
GET /api/marketplace-component-usages/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-component-user-usages/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-component-user-usages/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-course-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-course-accounts/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-course-accounts/create_bulk/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: course_accounts
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: course_accounts
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-course-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-offering-terms-of-service/
- Extensions changed
- Deleted extension: x-permissions
GET /api/marketplace-offering-users/checklist-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: questions
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-orders/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [start_date url]
- Modified query param: query
- Description changed from 'Search by order UUID, project name or resource name' to 'Search by order UUID, slug, project name or resource name'
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [pending-start-date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
HEAD /api/marketplace-orders/
- Modified query param: query
- Description changed from 'Search by order UUID, project name or resource name' to 'Search by order UUID, slug, project name or resource name'
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [pending-start-date]
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: attributes
- Property 'OneOf' changed
- Modified schema: #/components/schemas/AzureVirtualMachineCreateOrderAttributes
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified schema: #/components/schemas/AzureSQLServerCreateOrderAttributes
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified schema: #/components/schemas/OpenStackTenantCreateOrderAttributes
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified schema: #/components/schemas/OpenStackInstanceCreateOrderAttributes
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified schema: #/components/schemas/OpenStackVolumeCreateOrderAttributes
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified schema: #/components/schemas/SlurmInvoicesSlurmPackageCreateOrderAttributes
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified schema: #/components/schemas/VMwareVirtualMachineCreateOrderAttributes
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/marketplace-orders/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [start_date url]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: promotion_campaigns
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-plan-components/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: discount_rate
- New property: discount_threshold
GET /api/marketplace-plan-components/{id}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: discount_rate
- New property: discount_threshold
GET /api/marketplace-plans/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: components
- Properties changed
- New property: components
POST /api/marketplace-plans/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: components
- Properties changed
- New property: components
GET /api/marketplace-plans/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: components
- Properties changed
- New property: components
PATCH /api/marketplace-plans/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: components
- Properties changed
- New property: components
PUT /api/marketplace-plans/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: components
- Properties changed
- New property: components
GET /api/marketplace-project-update-requests/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: new_description
- MaxLength changed from 2000 to 4096
- Modified property: old_description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-project-update-requests/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: new_description
- MaxLength changed from 2000 to 4096
- Modified property: old_description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-provider-offerings/
- New query param: query
- New query param: user_has_offering_user
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [partitions software_catalogs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
HEAD /api/marketplace-provider-offerings/
- New query param: query
- New query param: user_has_offering_user
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: partitions
- New required property: software_catalogs
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-provider-offerings/groups/
- New query param: query
- New query param: user_has_offering_user
HEAD /api/marketplace-provider-offerings/groups/
- New query param: query
- New query param: user_has_offering_user
GET /api/marketplace-provider-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [partitions software_catalogs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-provider-offerings/{uuid}/add_user/
- Responses changed
- New response: 400
GET /api/marketplace-provider-offerings/{uuid}/component_stats/
- New query param: query
- New query param: user_has_offering_user
GET /api/marketplace-provider-offerings/{uuid}/costs/
- New query param: query
- New query param: user_has_offering_user
POST /api/marketplace-provider-offerings/{uuid}/create_offering_component/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- New response: 201
- Deleted response: 200
GET /api/marketplace-provider-offerings/{uuid}/customers/
- New query param: query
- New query param: user_has_offering_user
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/marketplace-provider-offerings/{uuid}/list_course_accounts/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [partitions software_catalogs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: is_removed
- New property: staff_notes
- New property: termination_metadata
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [partitions software_catalogs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-provider-offerings/{uuid}/list_customer_users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: ip_address
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [partitions software_catalogs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: promotion_campaigns
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [partitions software_catalogs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
POST /api/marketplace-provider-offerings/{uuid}/update_offering_component/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [partitions software_catalogs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-provider-resources/
- New query param: component_count
- New query param: limit_based
- New query param: limit_component_count
- New query param: only_limit_based
- New query param: only_usage_based
- New query param: usage_based
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [renewal_date]
- Modified query param: query
- Description changed from 'Search by resource UUID, name, backend ID, effective ID, IPs or hypervisor' to 'Search by resource UUID, name, slug, backend ID, effective ID, IPs or hypervisor'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
HEAD /api/marketplace-provider-resources/
- New query param: component_count
- New query param: limit_based
- New query param: limit_component_count
- New query param: only_limit_based
- New query param: only_usage_based
- New query param: usage_based
- Modified query param: query
- Description changed from 'Search by resource UUID, name, backend ID, effective ID, IPs or hypervisor' to 'Search by resource UUID, name, slug, backend ID, effective ID, IPs or hypervisor'
GET /api/marketplace-provider-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [renewal_date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
PATCH /api/marketplace-provider-resources/{uuid}/
- Extensions changed
- New extension: x-permissions
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/marketplace-provider-resources/{uuid}/
- Extensions changed
- New extension: x-permissions
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-provider-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [renewal_date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: promotion_campaigns
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-provider-resources/{uuid}/plan_periods/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/marketplace-provider-resources/{uuid}/team/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_user_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/OfferingUserState, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/OfferingUserState
- Nullable changed from false to true
GET /api/marketplace-public-offerings/
- New query param: query
- New query param: user_has_offering_user
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [partitions software_catalogs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: promotion_campaigns
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
HEAD /api/marketplace-public-offerings/
- New query param: query
- New query param: user_has_offering_user
GET /api/marketplace-public-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [partitions software_catalogs]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: promotion_campaigns
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-public-offerings/{uuid}/plans/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: components
GET /api/marketplace-public-offerings/{uuid}/plans/{plan_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: components
GET /api/marketplace-resources/
- New query param: component_count
- New query param: limit_based
- New query param: limit_component_count
- New query param: only_limit_based
- New query param: only_usage_based
- New query param: usage_based
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [renewal_date]
- Modified query param: query
- Description changed from 'Search by resource UUID, name, backend ID, effective ID, IPs or hypervisor' to 'Search by resource UUID, name, slug, backend ID, effective ID, IPs or hypervisor'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
HEAD /api/marketplace-resources/
- New query param: component_count
- New query param: limit_based
- New query param: limit_component_count
- New query param: only_limit_based
- New query param: only_usage_based
- New query param: usage_based
- Modified query param: query
- Description changed from 'Search by resource UUID, name, backend ID, effective ID, IPs or hypervisor' to 'Search by resource UUID, name, slug, backend ID, effective ID, IPs or hypervisor'
GET /api/marketplace-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [renewal_date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
PATCH /api/marketplace-resources/{uuid}/
- Extensions changed
- New extension: x-permissions
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/marketplace-resources/{uuid}/
- Extensions changed
- New extension: x-permissions
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-resources/{uuid}/details/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [renewal_date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: promotion_campaigns
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-resources/{uuid}/plan_periods/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-resources/{uuid}/team/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_user_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/OfferingUserState, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/OfferingUserState
- Nullable changed from false to true
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
GET /api/marketplace-screenshots/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-screenshots/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-screenshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/marketplace-screenshots/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/marketplace-screenshots/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: promotion_campaigns
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partitions
- New property: software_catalogs
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: backend_id_display_label
- New property: create_orders_on_resource_option_change
- New property: enable_purchase_order_upload
- New property: highlight_backend_id_display
- New property: require_purchase_order_upload
- Deleted property: order_supports_comments_and_metadata
- Modified property: promotion_campaigns
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: screenshots
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-service-providers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-service-providers/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-service-providers/{service_provider_uuid}/course_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-service-providers/{service_provider_uuid}/customer_projects/
- New query param: is_removed
- Modified query param: query
- Description changed from 'Filter by name, UUID, backend ID or resource effective ID' to 'Filter by name, slug, UUID, backend ID or resource effective ID'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- New query param: query
- New query param: user_has_offering_user
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plans
- Items changed
- Properties changed
- New property: components
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- New query param: is_removed
- Deleted query param: field
- Modified query param: query
- Description changed from 'Filter by name, UUID, backend ID or resource effective ID' to 'Filter by name, slug, UUID, backend ID or resource effective ID'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: is_removed
- New property: staff_notes
- New property: termination_metadata
GET /api/marketplace-service-providers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/marketplace-service-providers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/marketplace-service-providers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/marketplace-service-providers/{uuid}/add_user/
- Responses changed
- New response: 400
POST /api/marketplace-service-providers/{uuid}/set_offerings_username/
- Responses changed
- New response: 201
- Deleted response: 200
GET /api/notification-messages/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/notification-messages/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/notification-messages/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/notification-messages/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/notification-messages/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/onboarding-justifications/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: legal_name
- New required property: legal_person_identifier
- Deleted required property: user_justification
- Properties changed
- New property: legal_name
- New property: legal_person_identifier
- Modified property: user_justification
- Nullable changed from false to true
POST /api/onboarding-justifications/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: user_justification
- Properties changed
- Modified property: user_justification
- Nullable changed from false to true
- MinLength changed from 1 to 0
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: legal_name
- New required property: legal_person_identifier
- Deleted required property: user_justification
- Properties changed
- New property: legal_name
- New property: legal_person_identifier
- Modified property: user_justification
- Nullable changed from false to true
POST /api/onboarding-justifications/create_justification/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: user_justification
- Properties changed
- Modified property: user_justification
- MinLength changed from 1 to 0
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: legal_name
- New required property: legal_person_identifier
- Deleted required property: user_justification
- Properties changed
- New property: legal_name
- New property: legal_person_identifier
- Modified property: user_justification
- Nullable changed from false to true
GET /api/onboarding-justifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: legal_name
- New required property: legal_person_identifier
- Deleted required property: user_justification
- Properties changed
- New property: legal_name
- New property: legal_person_identifier
- Modified property: user_justification
- Nullable changed from false to true
PATCH /api/onboarding-justifications/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: user_justification
- Nullable changed from false to true
- MinLength changed from 1 to 0
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: legal_name
- New required property: legal_person_identifier
- Deleted required property: user_justification
- Properties changed
- New property: legal_name
- New property: legal_person_identifier
- Modified property: user_justification
- Nullable changed from false to true
PUT /api/onboarding-justifications/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: user_justification
- Properties changed
- Modified property: user_justification
- Nullable changed from false to true
- MinLength changed from 1 to 0
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: legal_name
- New required property: legal_person_identifier
- Deleted required property: user_justification
- Properties changed
- New property: legal_name
- New property: legal_person_identifier
- Modified property: user_justification
- Nullable changed from false to true
POST /api/onboarding-verifications/{uuid}/create_customer/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-backups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: instance_security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: instance_security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/openstack-backups/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: instance_security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/openstack-backups/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: instance_security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-backups/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-instances/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/openstack-instances/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/openstack-instances/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-instances/{uuid}/backup/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: instance_security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-instances/{uuid}/ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-networks/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/openstack-networks/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/openstack-networks/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-networks/{uuid}/create_subnet/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-ports/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/openstack-ports/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/openstack-ports/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-routers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-routers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-security-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-security-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/openstack-security-groups/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/openstack-security-groups/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-security-groups/{uuid}/set_rules/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-server-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-server-groups/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-server-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/openstack-server-groups/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/openstack-server-groups/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-snapshots/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-snapshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/openstack-snapshots/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/openstack-snapshots/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-snapshots/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-subnets/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-subnets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/openstack-subnets/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/openstack-subnets/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-tenants/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-tenants/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/openstack-tenants/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/openstack-tenants/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-tenants/{uuid}/backend_volumes/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-tenants/{uuid}/create_network/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: subnets
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-tenants/{uuid}/create_security_group/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-tenants/{uuid}/create_server_group/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-tenants/{uuid}/pull_security_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-tenants/{uuid}/pull_server_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-volume-types/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-volume-types/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-volumes/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/openstack-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/openstack-volumes/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/openstack-volumes/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/openstack-volumes/{uuid}/snapshot/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ATLASSIAN_OAUTH2_ACCESS_TOKEN
- New property: ATLASSIAN_OAUTH2_CLIENT_ID
- New property: ATLASSIAN_OAUTH2_TOKEN_TYPE
- New property: ATLASSIAN_PERSONAL_ACCESS_TOKEN
- New property: ATLASSIAN_SUPPORT_TYPE_MAPPING
- New property: ATLASSIAN_WALDUR_BACKEND_ID_FIELD
- New property: ENABLE_ORDER_START_DATE
- New property: PROJECT_END_DATE_MANDATORY
- Deleted property: ATLASSIAN_PULL_PRIORITIES
- Deleted property: ATLASSIAN_STRANGE_SETTING
- Deleted property: ATLASSIAN_USE_AUTOMATIC_REQUEST_MAPPING
- Deleted property: ATLASSIAN_USE_TEENAGE_API
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ATLASSIAN_OAUTH2_ACCESS_TOKEN
- New property: ATLASSIAN_OAUTH2_CLIENT_ID
- New property: ATLASSIAN_OAUTH2_TOKEN_TYPE
- New property: ATLASSIAN_PERSONAL_ACCESS_TOKEN
- New property: ATLASSIAN_SUPPORT_TYPE_MAPPING
- New property: ATLASSIAN_WALDUR_BACKEND_ID_FIELD
- New property: ENABLE_ORDER_START_DATE
- New property: PROJECT_END_DATE_MANDATORY
- Deleted property: ATLASSIAN_PULL_PRIORITIES
- Deleted property: ATLASSIAN_STRANGE_SETTING
- Deleted property: ATLASSIAN_USE_AUTOMATIC_REQUEST_MAPPING
- Deleted property: ATLASSIAN_USE_TEENAGE_API
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: ATLASSIAN_OAUTH2_ACCESS_TOKEN
- New property: ATLASSIAN_OAUTH2_CLIENT_ID
- New property: ATLASSIAN_OAUTH2_TOKEN_TYPE
- New property: ATLASSIAN_PERSONAL_ACCESS_TOKEN
- New property: ATLASSIAN_SUPPORT_TYPE_MAPPING
- New property: ATLASSIAN_WALDUR_BACKEND_ID_FIELD
- New property: ENABLE_ORDER_START_DATE
- New property: PROJECT_END_DATE_MANDATORY
- Deleted property: ATLASSIAN_PULL_PRIORITIES
- Deleted property: ATLASSIAN_STRANGE_SETTING
- Deleted property: ATLASSIAN_USE_AUTOMATIC_REQUEST_MAPPING
- Deleted property: ATLASSIAN_USE_TEENAGE_API
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: ATLASSIAN_OAUTH2_ACCESS_TOKEN
- New property: ATLASSIAN_OAUTH2_CLIENT_ID
- New property: ATLASSIAN_OAUTH2_TOKEN_TYPE
- New property: ATLASSIAN_PERSONAL_ACCESS_TOKEN
- New property: ATLASSIAN_SUPPORT_TYPE_MAPPING
- New property: ATLASSIAN_WALDUR_BACKEND_ID_FIELD
- New property: ENABLE_ORDER_START_DATE
- New property: PROJECT_END_DATE_MANDATORY
- Deleted property: ATLASSIAN_PULL_PRIORITIES
- Deleted property: ATLASSIAN_STRANGE_SETTING
- Deleted property: ATLASSIAN_USE_AUTOMATIC_REQUEST_MAPPING
- Deleted property: ATLASSIAN_USE_TEENAGE_API
GET /api/project-types/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/project-types/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/projects/
- New query param: include_terminated
- New query param: is_removed
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [is_removed staff_notes termination_metadata]
- Modified query param: query
- Description changed from 'Filter by name, UUID, backend ID or resource effective ID' to 'Filter by name, slug, UUID, backend ID or resource effective ID'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: is_removed
- New property: staff_notes
- New property: termination_metadata
HEAD /api/projects/
- New query param: include_terminated
- New query param: is_removed
- Modified query param: query
- Description changed from 'Filter by name, UUID, backend ID or resource effective ID' to 'Filter by name, slug, UUID, backend ID or resource effective ID'
POST /api/projects/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: staff_notes
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: staff_notes
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: staff_notes
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: is_removed
- New property: staff_notes
- New property: termination_metadata
GET /api/projects/checklist-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: questions
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/projects/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [is_removed staff_notes termination_metadata]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: is_removed
- New property: staff_notes
- New property: termination_metadata
PATCH /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: staff_notes
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: staff_notes
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: staff_notes
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: is_removed
- New property: staff_notes
- New property: termination_metadata
PUT /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: staff_notes
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: staff_notes
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: staff_notes
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: is_removed
- New property: staff_notes
- New property: termination_metadata
POST /api/projects/{uuid}/add_user/
- Responses changed
- New response: 400
POST /api/projects/{uuid}/move_project/
- Responses changed
- New response: 400
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: is_removed
- New property: staff_notes
- New property: termination_metadata
GET /api/promotions-campaigns/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/promotions-campaigns/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/promotions-campaigns/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/promotions-campaigns/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/promotions-campaigns/{uuid}/orders/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: renewal_date
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: start_date
- New property: url
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
GET /api/proposal-proposals/checklist-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: questions
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/proposal-proposals/{uuid}/add_user/
- Responses changed
- New response: 400
GET /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
POST /api/proposal-proposals/{uuid}/resources/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
PATCH /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
PUT /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
POST /api/proposal-proposals/{uuid}/update_project_details/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/proposal-protected-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
POST /api/proposal-protected-calls/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
PATCH /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
PUT /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
POST /api/proposal-protected-calls/{uuid}/activate/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
POST /api/proposal-protected-calls/{uuid}/add_user/
- Responses changed
- New response: 400
POST /api/proposal-protected-calls/{uuid}/archive/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
POST /api/proposal-protected-calls/{uuid}/offerings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
PATCH /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
PUT /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/proposal-protected-calls/{uuid}/resource_templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
POST /api/proposal-protected-calls/{uuid}/resource_templates/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
PATCH /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
PUT /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/proposal-public-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/proposal-public-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: documents
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/proposal-requested-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/proposal-requested-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/proposal-requested-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/proposal-requested-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- New property: components
GET /api/rancher-apps/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/rancher-apps/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-apps/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/rancher-apps/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/rancher-apps/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-catalogs/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/rancher-catalogs/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-catalogs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/rancher-catalogs/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/rancher-catalogs/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/rancher-catalogs/{uuid}/refresh/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-cluster-security-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-cluster-security-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/rancher-cluster-security-groups/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/rancher-cluster-security-groups/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: rules
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-cluster-templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-cluster-templates/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-clusters/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/rancher-clusters/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/rancher-clusters/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/rancher-clusters/{uuid}/create_management_security_group/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-hpas/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/rancher-hpas/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-hpas/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/rancher-hpas/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/rancher-hpas/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-hpas/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/rancher-hpas/{uuid}/yaml/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-ingresses/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/rancher-ingresses/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-ingresses/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/rancher-ingresses/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/rancher-ingresses/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-ingresses/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/rancher-ingresses/{uuid}/yaml/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-projects/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-projects/{uuid}/secrets/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-services/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/rancher-services/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-services/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/rancher-services/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/rancher-services/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-services/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/rancher-services/{uuid}/yaml/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/rancher-templates/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/remote-waldur-api/remote_categories/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/remote-waldur-api/remote_resource_order_status/{resource_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: local_state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderState
- New enum values: [pending-start-date]
- Modified property: remote_state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RemoteResourceOrderRemoteStateEnum
- New enum values: [9]
GET /api/roles/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description_ar
- MaxLength changed from 2000 to 4096
- Modified property: description_cs
- MaxLength changed from 2000 to 4096
- Modified property: description_da
- MaxLength changed from 2000 to 4096
- Modified property: description_de
- MaxLength changed from 2000 to 4096
- Modified property: description_en
- MaxLength changed from 2000 to 4096
- Modified property: description_es
- MaxLength changed from 2000 to 4096
- Modified property: description_et
- MaxLength changed from 2000 to 4096
- Modified property: description_fr
- MaxLength changed from 2000 to 4096
- Modified property: description_it
- MaxLength changed from 2000 to 4096
- Modified property: description_lt
- MaxLength changed from 2000 to 4096
- Modified property: description_lv
- MaxLength changed from 2000 to 4096
- Modified property: description_nb
- MaxLength changed from 2000 to 4096
- Modified property: description_ru
- MaxLength changed from 2000 to 4096
- Modified property: description_sv
- MaxLength changed from 2000 to 4096
POST /api/roles/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description_ar
- MaxLength changed from 2000 to 4096
- Modified property: description_cs
- MaxLength changed from 2000 to 4096
- Modified property: description_da
- MaxLength changed from 2000 to 4096
- Modified property: description_de
- MaxLength changed from 2000 to 4096
- Modified property: description_en
- MaxLength changed from 2000 to 4096
- Modified property: description_es
- MaxLength changed from 2000 to 4096
- Modified property: description_et
- MaxLength changed from 2000 to 4096
- Modified property: description_fr
- MaxLength changed from 2000 to 4096
- Modified property: description_it
- MaxLength changed from 2000 to 4096
- Modified property: description_lt
- MaxLength changed from 2000 to 4096
- Modified property: description_lv
- MaxLength changed from 2000 to 4096
- Modified property: description_nb
- MaxLength changed from 2000 to 4096
- Modified property: description_ru
- MaxLength changed from 2000 to 4096
- Modified property: description_sv
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description_ar
- MaxLength changed from 2000 to 4096
- Modified property: description_cs
- MaxLength changed from 2000 to 4096
- Modified property: description_da
- MaxLength changed from 2000 to 4096
- Modified property: description_de
- MaxLength changed from 2000 to 4096
- Modified property: description_en
- MaxLength changed from 2000 to 4096
- Modified property: description_es
- MaxLength changed from 2000 to 4096
- Modified property: description_et
- MaxLength changed from 2000 to 4096
- Modified property: description_fr
- MaxLength changed from 2000 to 4096
- Modified property: description_it
- MaxLength changed from 2000 to 4096
- Modified property: description_lt
- MaxLength changed from 2000 to 4096
- Modified property: description_lv
- MaxLength changed from 2000 to 4096
- Modified property: description_nb
- MaxLength changed from 2000 to 4096
- Modified property: description_ru
- MaxLength changed from 2000 to 4096
- Modified property: description_sv
- MaxLength changed from 2000 to 4096
GET /api/roles/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description_ar
- MaxLength changed from 2000 to 4096
- Modified property: description_cs
- MaxLength changed from 2000 to 4096
- Modified property: description_da
- MaxLength changed from 2000 to 4096
- Modified property: description_de
- MaxLength changed from 2000 to 4096
- Modified property: description_en
- MaxLength changed from 2000 to 4096
- Modified property: description_es
- MaxLength changed from 2000 to 4096
- Modified property: description_et
- MaxLength changed from 2000 to 4096
- Modified property: description_fr
- MaxLength changed from 2000 to 4096
- Modified property: description_it
- MaxLength changed from 2000 to 4096
- Modified property: description_lt
- MaxLength changed from 2000 to 4096
- Modified property: description_lv
- MaxLength changed from 2000 to 4096
- Modified property: description_nb
- MaxLength changed from 2000 to 4096
- Modified property: description_ru
- MaxLength changed from 2000 to 4096
- Modified property: description_sv
- MaxLength changed from 2000 to 4096
PATCH /api/roles/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description_ar
- MaxLength changed from 2000 to 4096
- Modified property: description_cs
- MaxLength changed from 2000 to 4096
- Modified property: description_da
- MaxLength changed from 2000 to 4096
- Modified property: description_de
- MaxLength changed from 2000 to 4096
- Modified property: description_en
- MaxLength changed from 2000 to 4096
- Modified property: description_es
- MaxLength changed from 2000 to 4096
- Modified property: description_et
- MaxLength changed from 2000 to 4096
- Modified property: description_fr
- MaxLength changed from 2000 to 4096
- Modified property: description_it
- MaxLength changed from 2000 to 4096
- Modified property: description_lt
- MaxLength changed from 2000 to 4096
- Modified property: description_lv
- MaxLength changed from 2000 to 4096
- Modified property: description_nb
- MaxLength changed from 2000 to 4096
- Modified property: description_ru
- MaxLength changed from 2000 to 4096
- Modified property: description_sv
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description_ar
- MaxLength changed from 2000 to 4096
- Modified property: description_cs
- MaxLength changed from 2000 to 4096
- Modified property: description_da
- MaxLength changed from 2000 to 4096
- Modified property: description_de
- MaxLength changed from 2000 to 4096
- Modified property: description_en
- MaxLength changed from 2000 to 4096
- Modified property: description_es
- MaxLength changed from 2000 to 4096
- Modified property: description_et
- MaxLength changed from 2000 to 4096
- Modified property: description_fr
- MaxLength changed from 2000 to 4096
- Modified property: description_it
- MaxLength changed from 2000 to 4096
- Modified property: description_lt
- MaxLength changed from 2000 to 4096
- Modified property: description_lv
- MaxLength changed from 2000 to 4096
- Modified property: description_nb
- MaxLength changed from 2000 to 4096
- Modified property: description_ru
- MaxLength changed from 2000 to 4096
- Modified property: description_sv
- MaxLength changed from 2000 to 4096
PUT /api/roles/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description_ar
- MaxLength changed from 2000 to 4096
- Modified property: description_cs
- MaxLength changed from 2000 to 4096
- Modified property: description_da
- MaxLength changed from 2000 to 4096
- Modified property: description_de
- MaxLength changed from 2000 to 4096
- Modified property: description_en
- MaxLength changed from 2000 to 4096
- Modified property: description_es
- MaxLength changed from 2000 to 4096
- Modified property: description_et
- MaxLength changed from 2000 to 4096
- Modified property: description_fr
- MaxLength changed from 2000 to 4096
- Modified property: description_it
- MaxLength changed from 2000 to 4096
- Modified property: description_lt
- MaxLength changed from 2000 to 4096
- Modified property: description_lv
- MaxLength changed from 2000 to 4096
- Modified property: description_nb
- MaxLength changed from 2000 to 4096
- Modified property: description_ru
- MaxLength changed from 2000 to 4096
- Modified property: description_sv
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description_ar
- MaxLength changed from 2000 to 4096
- Modified property: description_cs
- MaxLength changed from 2000 to 4096
- Modified property: description_da
- MaxLength changed from 2000 to 4096
- Modified property: description_de
- MaxLength changed from 2000 to 4096
- Modified property: description_en
- MaxLength changed from 2000 to 4096
- Modified property: description_es
- MaxLength changed from 2000 to 4096
- Modified property: description_et
- MaxLength changed from 2000 to 4096
- Modified property: description_fr
- MaxLength changed from 2000 to 4096
- Modified property: description_it
- MaxLength changed from 2000 to 4096
- Modified property: description_lt
- MaxLength changed from 2000 to 4096
- Modified property: description_lv
- MaxLength changed from 2000 to 4096
- Modified property: description_nb
- MaxLength changed from 2000 to 4096
- Modified property: description_ru
- MaxLength changed from 2000 to 4096
- Modified property: description_sv
- MaxLength changed from 2000 to 4096
PUT /api/roles/{uuid}/update_descriptions/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description_ar
- MaxLength changed from 2000 to 4096
- Modified property: description_cs
- MaxLength changed from 2000 to 4096
- Modified property: description_da
- MaxLength changed from 2000 to 4096
- Modified property: description_de
- MaxLength changed from 2000 to 4096
- Modified property: description_en
- MaxLength changed from 2000 to 4096
- Modified property: description_es
- MaxLength changed from 2000 to 4096
- Modified property: description_et
- MaxLength changed from 2000 to 4096
- Modified property: description_fr
- MaxLength changed from 2000 to 4096
- Modified property: description_it
- MaxLength changed from 2000 to 4096
- Modified property: description_lt
- MaxLength changed from 2000 to 4096
- Modified property: description_lv
- MaxLength changed from 2000 to 4096
- Modified property: description_nb
- MaxLength changed from 2000 to 4096
- Modified property: description_ru
- MaxLength changed from 2000 to 4096
- Modified property: description_sv
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified property: description_ar
- MaxLength changed from 2000 to 4096
- Modified property: description_cs
- MaxLength changed from 2000 to 4096
- Modified property: description_da
- MaxLength changed from 2000 to 4096
- Modified property: description_de
- MaxLength changed from 2000 to 4096
- Modified property: description_en
- MaxLength changed from 2000 to 4096
- Modified property: description_es
- MaxLength changed from 2000 to 4096
- Modified property: description_et
- MaxLength changed from 2000 to 4096
- Modified property: description_fr
- MaxLength changed from 2000 to 4096
- Modified property: description_it
- MaxLength changed from 2000 to 4096
- Modified property: description_lt
- MaxLength changed from 2000 to 4096
- Modified property: description_lv
- MaxLength changed from 2000 to 4096
- Modified property: description_nb
- MaxLength changed from 2000 to 4096
- Modified property: description_ru
- MaxLength changed from 2000 to 4096
- Modified property: description_sv
- MaxLength changed from 2000 to 4096
GET /api/slurm-allocations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/slurm-allocations/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/slurm-allocations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/slurm-allocations/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/slurm-allocations/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/slurm-jobs/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/slurm-jobs/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/slurm-jobs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/slurm-jobs/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/slurm-jobs/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/support-issues/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- Deleted required property: first_response_sla
- Properties changed
- Deleted property: first_response_sla
POST /api/support-issues/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: first_response_sla
- Properties changed
- Deleted property: first_response_sla
GET /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: first_response_sla
- Properties changed
- Deleted property: first_response_sla
PATCH /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: first_response_sla
- Properties changed
- Deleted property: first_response_sla
PUT /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: first_response_sla
- Properties changed
- Deleted property: first_response_sla
POST /api/support-issues/{uuid}/sync/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: first_response_sla
- Properties changed
- Deleted property: first_response_sla
GET /api/support-priorities/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/support-priorities/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/users/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [ip_address]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: ip_address
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/users/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ip_address
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/users/me/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [ip_address]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ip_address
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/users/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [ip_address]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ip_address
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/users/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ip_address
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/users/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ip_address
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/vmware-disks/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/vmware-disks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/vmware-ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/vmware-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/vmware-templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/vmware-templates/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/vmware-virtual-machine/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/vmware-virtual-machine/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
GET /api/vmware-virtual-machine/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PATCH /api/vmware-virtual-machine/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
PUT /api/vmware-virtual-machine/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/vmware-virtual-machine/{uuid}/create_disk/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
POST /api/vmware-virtual-machine/{uuid}/create_port/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- MaxLength changed from 2000 to 4096
OpenAPI schema diff - 7.8.6
For version 7.8.6
New Endpoints: 25
GET /api/metadata/events/
GET /api/metadata/features/
GET /api/metadata/permissions/
GET /api/metadata/settings/
GET /api/onboarding-country-configs/
HEAD /api/onboarding-country-configs/
POST /api/onboarding-country-configs/
DELETE /api/onboarding-country-configs/{uuid}/
GET /api/onboarding-country-configs/{uuid}/
PATCH /api/onboarding-country-configs/{uuid}/
PUT /api/onboarding-country-configs/{uuid}/
GET /api/onboarding-question-metadata/
HEAD /api/onboarding-question-metadata/
POST /api/onboarding-question-metadata/
DELETE /api/onboarding-question-metadata/{uuid}/
GET /api/onboarding-question-metadata/{uuid}/
PATCH /api/onboarding-question-metadata/{uuid}/
PUT /api/onboarding-question-metadata/{uuid}/
GET /api/onboarding-verifications/checklist-template/
HEAD /api/onboarding-verifications/checklist-template/
POST /api/onboarding-verifications/start_verification/
GET /api/onboarding-verifications/{uuid}/checklist/
GET /api/onboarding-verifications/{uuid}/completion_status/
POST /api/onboarding-verifications/{uuid}/run_validation/
POST /api/onboarding-verifications/{uuid}/submit_answers/
Deleted Endpoints: 1
POST /api/onboarding-verifications/validate_company/
Modified Endpoints: 247
GET /api/admin-announcements/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [maintenance_external_reference_url]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: maintenance_external_reference_url
POST /api/admin-announcements/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: maintenance_external_reference_url
GET /api/admin-announcements/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [maintenance_external_reference_url]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: maintenance_external_reference_url
PATCH /api/admin-announcements/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: maintenance_external_reference_url
PUT /api/admin-announcements/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: maintenance_external_reference_url
GET /api/aws-instances/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/aws-instances/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/aws-instances/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/aws-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/aws-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/aws-volumes/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/aws-volumes/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/aws-volumes/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/aws-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/aws-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/azure-public-ips/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/azure-public-ips/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/azure-public-ips/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/azure-public-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/azure-public-ips/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/azure-resource-groups/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/azure-resource-groups/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/azure-sql-databases/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/azure-sql-databases/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/azure-sql-databases/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/azure-sql-databases/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/azure-sql-databases/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/azure-sql-servers/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/azure-sql-servers/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/azure-sql-servers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/azure-sql-servers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/azure-sql-servers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/azure-virtualmachines/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/azure-virtualmachines/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/azure-virtualmachines/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/azure-virtualmachines/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/azure-virtualmachines/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/booking-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [secret_options service_attributes]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/booking-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [secret_options service_attributes]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/booking-resources/
- Modified query param: only_limit_based
- Description changed from 'Filter out resources with only limit-based components' to 'Filter resources with only limit-based components'
- Modified query param: only_usage_based
- Description changed from 'Filter out resources with only usage-based components' to 'Filter resources with only usage-based components'
HEAD /api/booking-resources/
- Modified query param: only_limit_based
- Description changed from 'Filter out resources with only limit-based components' to 'Filter resources with only limit-based components'
- Modified query param: only_usage_based
- Description changed from 'Filter out resources with only usage-based components' to 'Filter resources with only usage-based components'
GET /api/checklists-admin/
- Modified query param: checklist_type
- Schema changed
- New enum values: [customer_onboarding]
- Modified query param: checklist_type__in
- Schema changed
- Items changed
- New enum values: [customer_onboarding]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: checklist_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ChecklistTypeEnum
- New enum values: [customer_onboarding]
HEAD /api/checklists-admin/
- Modified query param: checklist_type
- Schema changed
- New enum values: [customer_onboarding]
- Modified query param: checklist_type__in
- Schema changed
- Items changed
- New enum values: [customer_onboarding]
POST /api/checklists-admin/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: checklist_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ChecklistTypeEnum
- New enum values: [customer_onboarding]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: checklist_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ChecklistTypeEnum
- New enum values: [customer_onboarding]
GET /api/checklists-admin/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: checklist_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ChecklistTypeEnum
- New enum values: [customer_onboarding]
PATCH /api/checklists-admin/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: checklist_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ChecklistTypeEnum
- New enum values: [customer_onboarding]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: checklist_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ChecklistTypeEnum
- New enum values: [customer_onboarding]
PUT /api/checklists-admin/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: checklist_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ChecklistTypeEnum
- New enum values: [customer_onboarding]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: checklist_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ChecklistTypeEnum
- New enum values: [customer_onboarding]
GET /api/checklists-admin/{uuid}/questions/
- Modified query param: checklist_type
- Schema changed
- New enum values: [customer_onboarding]
- Modified query param: checklist_type__in
- Schema changed
- Items changed
- New enum values: [customer_onboarding]
GET /api/digitalocean-droplets/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/digitalocean-droplets/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/digitalocean-droplets/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/digitalocean-droplets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/digitalocean-droplets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: start_date
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: error_traceback
- Properties changed
- New property: start_date
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: secret_options
- Deleted required property: service_attributes
- Properties changed
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-provider-offerings/{uuid}/customers/
- New query param: field
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- Deleted required property: name
- Deleted required property: slug
- Deleted required property: uuid
GET /api/marketplace-provider-offerings/{uuid}/list_course_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- New query param: field
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-provider-offerings/{uuid}/list_customer_users/
- New query param: field
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: birth_date
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-provider-offerings/{uuid}/orders/
- New query param: field
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: max_security_groups
POST /api/marketplace-provider-offerings/{uuid}/update_options/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
PATCH /api/marketplace-provider-offerings/{uuid}/update_partition/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: partition_uuid
- Deleted property: offering
POST /api/marketplace-provider-offerings/{uuid}/update_resource_options/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-provider-resources/
- Modified query param: only_limit_based
- Description changed from 'Filter out resources with only limit-based components' to 'Filter resources with only limit-based components'
- Modified query param: only_usage_based
- Description changed from 'Filter out resources with only usage-based components' to 'Filter resources with only usage-based components'
HEAD /api/marketplace-provider-resources/
- Modified query param: only_limit_based
- Description changed from 'Filter out resources with only limit-based components' to 'Filter resources with only limit-based components'
- Modified query param: only_usage_based
- Description changed from 'Filter out resources with only usage-based components' to 'Filter resources with only usage-based components'
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-public-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [secret_options service_attributes]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-public-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [secret_options service_attributes]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-resources/
- Modified query param: only_limit_based
- Description changed from 'Filter out resources with only limit-based components' to 'Filter resources with only limit-based components'
- Modified query param: only_usage_based
- Description changed from 'Filter out resources with only usage-based components' to 'Filter resources with only usage-based components'
HEAD /api/marketplace-resources/
- Modified query param: only_limit_based
- Description changed from 'Filter out resources with only limit-based components' to 'Filter resources with only limit-based components'
- Modified query param: only_usage_based
- Description changed from 'Filter out resources with only usage-based components' to 'Filter resources with only usage-based components'
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: max_security_groups
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- New query param: field
GET /api/onboarding-justifications/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: country
- New required property: error_message
- New required property: error_traceback
- Properties changed
- New property: country
- New property: error_message
- New property: error_traceback
POST /api/onboarding-justifications/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: country
- New required property: error_message
- New required property: error_traceback
- Properties changed
- New property: country
- New property: error_message
- New property: error_traceback
POST /api/onboarding-justifications/create_justification/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: country
- New required property: error_message
- New required property: error_traceback
- Properties changed
- New property: country
- New property: error_message
- New property: error_traceback
GET /api/onboarding-justifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: country
- New required property: error_message
- New required property: error_traceback
- Properties changed
- New property: country
- New property: error_message
- New property: error_traceback
PATCH /api/onboarding-justifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: country
- New required property: error_message
- New required property: error_traceback
- Properties changed
- New property: country
- New property: error_message
- New property: error_traceback
PUT /api/onboarding-justifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: country
- New required property: error_message
- New required property: error_traceback
- Properties changed
- New property: country
- New property: error_message
- New property: error_traceback
POST /api/onboarding-justifications/{uuid}/approve/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: country
- New required property: error_message
- New required property: error_traceback
- Properties changed
- New property: country
- New property: error_message
- New property: error_traceback
POST /api/onboarding-justifications/{uuid}/reject/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: country
- New required property: error_message
- New required property: error_traceback
- Properties changed
- New property: country
- New property: error_message
- New property: error_traceback
GET /api/onboarding-verifications/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_submitted_customer_data
- Deleted required property: legal_person_identifier
- Properties changed
- New property: onboarding_metadata
- New property: user_submitted_customer_data
- Deleted property: user_submitted_customer_metadata
- Modified property: legal_name
- Description changed from 'Claimed company name (optional, for reference)' to 'Company name(optional, for reference)'
- Modified property: legal_person_identifier
- Description changed from 'Official company registration code' to 'Official company registration code (required for automatic validation)'
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [wirtschaftscompass]
POST /api/onboarding-verifications/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: legal_person_identifier
- Properties changed
- Deleted property: user_submitted_customer_metadata
- Modified property: legal_name
- Description changed from 'Claimed company name (optional, for reference)' to 'Company name(optional, for reference)'
- Modified property: legal_person_identifier
- Description changed from 'Official company registration code' to 'Official company registration code (required for automatic validation)'
- MinLength changed from 1 to 0
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_submitted_customer_data
- Deleted required property: legal_person_identifier
- Properties changed
- New property: onboarding_metadata
- New property: user_submitted_customer_data
- Deleted property: user_submitted_customer_metadata
- Modified property: legal_name
- Description changed from 'Claimed company name (optional, for reference)' to 'Company name(optional, for reference)'
- Modified property: legal_person_identifier
- Description changed from 'Official company registration code' to 'Official company registration code (required for automatic validation)'
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [wirtschaftscompass]
GET /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_submitted_customer_data
- Deleted required property: legal_person_identifier
- Properties changed
- New property: onboarding_metadata
- New property: user_submitted_customer_data
- Deleted property: user_submitted_customer_metadata
- Modified property: legal_name
- Description changed from 'Claimed company name (optional, for reference)' to 'Company name(optional, for reference)'
- Modified property: legal_person_identifier
- Description changed from 'Official company registration code' to 'Official company registration code (required for automatic validation)'
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [wirtschaftscompass]
PATCH /api/onboarding-verifications/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: user_submitted_customer_metadata
- Modified property: legal_name
- Description changed from 'Claimed company name (optional, for reference)' to 'Company name(optional, for reference)'
- Modified property: legal_person_identifier
- Description changed from 'Official company registration code' to 'Official company registration code (required for automatic validation)'
- MinLength changed from 1 to 0
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_submitted_customer_data
- Deleted required property: legal_person_identifier
- Properties changed
- New property: onboarding_metadata
- New property: user_submitted_customer_data
- Deleted property: user_submitted_customer_metadata
- Modified property: legal_name
- Description changed from 'Claimed company name (optional, for reference)' to 'Company name(optional, for reference)'
- Modified property: legal_person_identifier
- Description changed from 'Official company registration code' to 'Official company registration code (required for automatic validation)'
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [wirtschaftscompass]
PUT /api/onboarding-verifications/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: legal_person_identifier
- Properties changed
- Deleted property: user_submitted_customer_metadata
- Modified property: legal_name
- Description changed from 'Claimed company name (optional, for reference)' to 'Company name(optional, for reference)'
- Modified property: legal_person_identifier
- Description changed from 'Official company registration code' to 'Official company registration code (required for automatic validation)'
- MinLength changed from 1 to 0
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_submitted_customer_data
- Deleted required property: legal_person_identifier
- Properties changed
- New property: onboarding_metadata
- New property: user_submitted_customer_data
- Deleted property: user_submitted_customer_metadata
- Modified property: legal_name
- Description changed from 'Claimed company name (optional, for reference)' to 'Company name(optional, for reference)'
- Modified property: legal_person_identifier
- Description changed from 'Official company registration code' to 'Official company registration code (required for automatic validation)'
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [wirtschaftscompass]
GET /api/onboarding/supported-countries/
- Responses changed
- New response: 200
- Deleted response: supported_countries
GET /api/openstack-backups/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-backups/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
PATCH /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
PUT /api/openstack-backups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-backups/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-floating-ips/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-floating-ips/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-instances/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-instances/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
PATCH /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
PUT /api/openstack-instances/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-instances/{uuid}/backup/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
- Modified property: instance_ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
- Modified property: restorations
- Items changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-instances/{uuid}/ports/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-networks/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-networks/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/openstack-networks/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-networks/{uuid}/create_subnet/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-ports/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-ports/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-ports/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/openstack-ports/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-routers/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-routers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
- Modified property: ports
- Items changed
- Properties changed
- Modified property: security_groups
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-security-groups/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-security-groups/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-server-groups/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-server-groups/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-server-groups/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/openstack-server-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/openstack-server-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-snapshots/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-snapshots/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/openstack-snapshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/openstack-snapshots/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-snapshots/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-subnets/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-subnets/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/openstack-subnets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/openstack-subnets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-tenants/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Deleted enum values: [access_url user_password user_username]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-tenants/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-tenants/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Deleted enum values: [access_url user_password user_username]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/openstack-tenants/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-tenants/{uuid}/create_floating_ip/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-tenants/{uuid}/create_network/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-tenants/{uuid}/create_security_group/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-tenants/{uuid}/create_server_group/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-tenants/{uuid}/pull_security_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-tenants/{uuid}/pull_server_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-volumes/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/openstack-volumes/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/openstack-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/openstack-volumes/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/openstack-volumes/{uuid}/snapshot/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ONBOARDING_WICO_API_URL
- New property: ONBOARDING_WICO_TOKEN
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ONBOARDING_WICO_API_URL
- New property: ONBOARDING_WICO_TOKEN
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: ONBOARDING_WICO_API_URL
- New property: ONBOARDING_WICO_TOKEN
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: ONBOARDING_WICO_API_URL
- New property: ONBOARDING_WICO_TOKEN
POST /api/projects/{uuid}/recover/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: end_date
GET /api/promotions-campaigns/{uuid}/orders/
- New query param: field
GET /api/promotions-campaigns/{uuid}/resources/
- New query param: field
GET /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
POST /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
PATCH /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
PUT /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/proposal-protected-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
POST /api/proposal-protected-calls/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
PATCH /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
PUT /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
POST /api/proposal-protected-calls/{uuid}/activate/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
POST /api/proposal-protected-calls/{uuid}/archive/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
POST /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
PATCH /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
PUT /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/proposal-public-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/proposal-public-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/proposal-requested-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/proposal-requested-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/proposal-requested-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/proposal-requested-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: cascade_config
- New property: component_multiplier_config
- Modified property: type
- New enum values: [conditional_cascade component_multiplier]
GET /api/proposal-reviews/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- Deleted required property: anonymous_reviewer_name
- Deleted required property: reviewer
- Deleted required property: reviewer_full_name
- Deleted required property: reviewer_uuid
POST /api/proposal-reviews/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: reviewer
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: anonymous_reviewer_name
- Deleted required property: reviewer
- Deleted required property: reviewer_full_name
- Deleted required property: reviewer_uuid
GET /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: anonymous_reviewer_name
- Deleted required property: reviewer
- Deleted required property: reviewer_full_name
- Deleted required property: reviewer_uuid
PATCH /api/proposal-reviews/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: anonymous_reviewer_name
- Deleted required property: reviewer
- Deleted required property: reviewer_full_name
- Deleted required property: reviewer_uuid
PUT /api/proposal-reviews/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: reviewer
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: anonymous_reviewer_name
- Deleted required property: reviewer
- Deleted required property: reviewer_full_name
- Deleted required property: reviewer_uuid
GET /api/rancher-apps/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/rancher-apps/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/rancher-apps/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/rancher-apps/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/rancher-apps/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/rancher-clusters/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/rancher-clusters/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/rancher-clusters/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/rancher-clusters/{uuid}/create_management_security_group/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/rancher-ingresses/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/rancher-ingresses/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/rancher-ingresses/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/rancher-ingresses/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/rancher-ingresses/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/rancher-ingresses/{uuid}/yaml/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/rancher-ingresses/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/rancher-services/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/rancher-services/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: customer_uuid
- Properties changed
- New property: customer_uuid
GET /api/rancher-services/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/rancher-services/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/rancher-services/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/rancher-services/{uuid}/yaml/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/rancher-services/{uuid}/yaml/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/slurm-allocations/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/slurm-allocations/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/slurm-allocations/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/slurm-allocations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/slurm-allocations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/slurm-jobs/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/slurm-jobs/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/slurm-jobs/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/slurm-jobs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/slurm-jobs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/users/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [birth_date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: birth_date
POST /api/users/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: birth_date
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: birth_date
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: birth_date
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: birth_date
GET /api/users/me/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [birth_date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: birth_date
GET /api/users/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [birth_date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: birth_date
PATCH /api/users/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: birth_date
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: birth_date
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: birth_date
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: birth_date
PUT /api/users/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: birth_date
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: birth_date
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: birth_date
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: birth_date
GET /api/vmware-disks/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/vmware-disks/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/vmware-ports/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
GET /api/vmware-ports/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/vmware-virtual-machine/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: customer_uuid
POST /api/vmware-virtual-machine/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
GET /api/vmware-virtual-machine/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [customer_uuid]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PATCH /api/vmware-virtual-machine/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
PUT /api/vmware-virtual-machine/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/vmware-virtual-machine/{uuid}/create_disk/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
POST /api/vmware-virtual-machine/{uuid}/create_port/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customer_uuid
OpenAPI schema diff - 7.8.7
For version 7.8.7
New Endpoints: 2
POST /api/marketplace-provider-resources/{uuid}/update_options_direct/
POST /api/projects/{uuid}/sync_user_roles/
Deleted Endpoints: 1
POST /projects/{uuid}/sync_user_roles/
Modified Endpoints: 66
GET /api/autoprovisioning-rules/
- Tags changed from 'Autoprovisioning Rules' to 'autoprovisioning-rules'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- Deleted required property: customer
- Properties changed
- New property: use_user_organization_as_customer_name
- Modified property: customer
- Nullable changed from false to true
HEAD /api/autoprovisioning-rules/
- Tags changed from 'Autoprovisioning Rules' to 'autoprovisioning-rules'
POST /api/autoprovisioning-rules/
- Tags changed from 'Autoprovisioning Rules' to 'autoprovisioning-rules'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: customer
- Properties changed
- New property: use_user_organization_as_customer_name
- Modified property: customer
- Nullable changed from false to true
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: customer
- Properties changed
- New property: use_user_organization_as_customer_name
- Modified property: customer
- Nullable changed from false to true
DELETE /api/autoprovisioning-rules/{uuid}/
- Tags changed from 'Autoprovisioning Rules' to 'autoprovisioning-rules'
GET /api/autoprovisioning-rules/{uuid}/
- Tags changed from 'Autoprovisioning Rules' to 'autoprovisioning-rules'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: customer
- Properties changed
- New property: use_user_organization_as_customer_name
- Modified property: customer
- Nullable changed from false to true
PATCH /api/autoprovisioning-rules/{uuid}/
- Tags changed from 'Autoprovisioning Rules' to 'autoprovisioning-rules'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: use_user_organization_as_customer_name
- Modified property: customer
- Nullable changed from false to true
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: customer
- Properties changed
- New property: use_user_organization_as_customer_name
- Modified property: customer
- Nullable changed from false to true
PUT /api/autoprovisioning-rules/{uuid}/
- Tags changed from 'Autoprovisioning Rules' to 'autoprovisioning-rules'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: customer
- Properties changed
- New property: use_user_organization_as_customer_name
- Modified property: customer
- Nullable changed from false to true
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: customer
- Properties changed
- New property: use_user_organization_as_customer_name
- Modified property: customer
- Nullable changed from false to true
GET /api/checklists-admin-questions/
- New query param: checklist_type
HEAD /api/checklists-admin-questions/
- New query param: checklist_type
GET /api/customers/
-
Description changed from 'To get a list of customers, run GET against /api/customers/ as authenticated user. Note that a user can only see connected customers:
-
customers that the user owns
- customers that have a project where user has a role
Staff also can filter customers by user UUID, for example /api/customers/?user_uuid=
Staff also can filter customers by exists accounting_start_date, for example:
The first category: /api/customers/?accounting_is_running=True has accounting_start_date empty (i.e. accounting starts at once) has accounting_start_date in the past (i.e. has already started).
Those that are not in the first: /api/customers/?accounting_is_running=False # exists accounting_start_date' to 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing'
GET /api/marketplace-offering-terms-of-service/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: grace_period_days
POST /api/marketplace-offering-terms-of-service/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
GET /api/marketplace-offering-terms-of-service/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
PATCH /api/marketplace-offering-terms-of-service/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
- Deleted property: requires_reconsent
- Deleted property: version
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
PUT /api/marketplace-offering-terms-of-service/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
- Deleted property: requires_reconsent
- Deleted property: version
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
GET /api/marketplace-offering-user-checklist-completions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_user
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingUser
- Properties changed
- New property: has_compliance_checklist
GET /api/marketplace-offering-user-checklist-completions/{id}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_user
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingUser
- Properties changed
- New property: has_compliance_checklist
GET /api/marketplace-offering-users/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_compliance_checklist]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: has_compliance_checklist
POST /api/marketplace-offering-users/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_checklist
GET /api/marketplace-offering-users/checklist-template/
- New query param: parent_uuid
- Responses changed
- New response: 404
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- New property: required
- Modified property: questions
- Items changed
- Properties changed
- New property: required
HEAD /api/marketplace-offering-users/checklist-template/
- New query param: parent_uuid
GET /api/marketplace-offering-users/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [has_compliance_checklist]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_checklist
PATCH /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_checklist
PUT /api/marketplace-offering-users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: has_compliance_checklist
POST /api/marketplace-site-agent-identities/{uuid}/register_event_subscription/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: observable_object_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ObservableObjectTypeEnum
- New enum values: [resource_periodic_limits]
GET /api/metadata/events/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: event_groups
- Properties changed
- Modified property: event_groups
- Description changed from '' to 'Map of event group keys to lists of event type enums from EventType'
- AdditionalProperties changed
- Schema added
GET /api/metadata/features/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: feature_enums
- New required property: features
- Properties changed
- Modified property: feature_enums
- Description changed from '' to 'Nested feature enum values by section'
- AdditionalProperties changed
- Schema added
- Modified property: features
- Description changed from '' to 'List of feature sections with descriptions'
- Items changed
- Schema added
GET /api/metadata/permissions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: permission_descriptions
- New required property: permission_map
- New required property: permissions
- New required property: roles
- Properties changed
- Modified property: permission_descriptions
- Description changed from '' to 'Grouped permission descriptions for UI'
- Items changed
- Schema added
- Modified property: permission_map
- Description changed from '' to 'Map of resource types to create permission enums'
- AdditionalProperties changed
- Schema added
- Modified property: permissions
- Description changed from '' to 'Map of permission keys to permission enum values from PermissionEnum'
- AdditionalProperties changed
- Schema added
- Modified property: roles
- Description changed from '' to 'Map of role keys to role enum values from RoleEnum'
- AdditionalProperties changed
- Schema added
GET /api/metadata/settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: settings
- Properties changed
- Modified property: settings
- Description changed from '' to 'List of settings sections with configuration items'
- Items changed
- Schema added
GET /api/onboarding-country-configs/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: questions
- Properties changed
- New property: questions
POST /api/onboarding-country-configs/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: questions
- Properties changed
- New property: questions
GET /api/onboarding-country-configs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: questions
- Properties changed
- New property: questions
PATCH /api/onboarding-country-configs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: questions
- Properties changed
- New property: questions
PUT /api/onboarding-country-configs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: questions
- Properties changed
- New property: questions
GET /api/onboarding-justifications/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: verification_uuid
- Properties changed
- New property: verification_uuid
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: validated_by
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: verification
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
POST /api/onboarding-justifications/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: user
- Properties changed
- Deleted property: user
- Modified property: verification
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: verification_uuid
- Properties changed
- New property: verification_uuid
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: validated_by
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: verification
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
POST /api/onboarding-justifications/create_justification/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: verification_uuid
- Properties changed
- New property: verification_uuid
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: validated_by
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: verification
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
GET /api/onboarding-justifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: verification_uuid
- Properties changed
- New property: verification_uuid
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: validated_by
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: verification
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
PATCH /api/onboarding-justifications/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: user
- Modified property: verification
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: verification_uuid
- Properties changed
- New property: verification_uuid
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: validated_by
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: verification
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
PUT /api/onboarding-justifications/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: user
- Properties changed
- Deleted property: user
- Modified property: verification
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: verification_uuid
- Properties changed
- New property: verification_uuid
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: validated_by
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: verification
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
POST /api/onboarding-justifications/{uuid}/approve/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: verification_uuid
- Properties changed
- New property: verification_uuid
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: validated_by
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: verification
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
POST /api/onboarding-justifications/{uuid}/reject/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: verification_uuid
- Properties changed
- New property: verification_uuid
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
- Modified property: validated_by
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: verification
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
GET /api/onboarding-question-metadata/
- New query param: question_description
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: checklist_name
- Properties changed
- New property: checklist_name
- Modified property: question
- Description changed from 'Question this metadata applies to' to ''
HEAD /api/onboarding-question-metadata/
- New query param: question_description
POST /api/onboarding-question-metadata/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: question
- Description changed from 'Question this metadata applies to' to ''
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: checklist_name
- Properties changed
- New property: checklist_name
- Modified property: question
- Description changed from 'Question this metadata applies to' to ''
GET /api/onboarding-question-metadata/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: checklist_name
- Properties changed
- New property: checklist_name
- Modified property: question
- Description changed from 'Question this metadata applies to' to ''
PATCH /api/onboarding-question-metadata/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: question
- Description changed from 'Question this metadata applies to' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: checklist_name
- Properties changed
- New property: checklist_name
- Modified property: question
- Description changed from 'Question this metadata applies to' to ''
PUT /api/onboarding-question-metadata/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: question
- Description changed from 'Question this metadata applies to' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: checklist_name
- Properties changed
- New property: checklist_name
- Modified property: question
- Description changed from 'Question this metadata applies to' to ''
GET /api/onboarding-verifications/checklist-template/
- New query param: parent_uuid
- Responses changed
- New response: 404
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- New property: required
- Modified property: questions
- Items changed
- Properties changed
- New property: required
HEAD /api/onboarding-verifications/checklist-template/
- New query param: parent_uuid
POST /api/onboarding-verifications/start_verification/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: is_manual_validation
POST /api/openstack-backups/{uuid}/restore/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: tenant
POST /api/openstack-instances/{uuid}/update_ports/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ports
- Items changed
- Properties changed
- New property: tenant
GET /api/openstack-ports/
- New query param: fixed_ips
- New query param: network_name
- New query param: network_uuid
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [target_tenant]
- Modified query param: o
- Schema changed
- Items changed
- New enum values: [-admin_state_up -created -device_owner -instance_name -mac_address -name -status -subnet_name admin_state_up created device_owner instance_name mac_address name status subnet_name]
HEAD /api/openstack-ports/
- New query param: fixed_ips
- New query param: network_name
- New query param: network_uuid
- Modified query param: o
- Schema changed
- Items changed
- New enum values: [-admin_state_up -created -device_owner -instance_name -mac_address -name -status -subnet_name admin_state_up created device_owner instance_name mac_address name status subnet_name]
POST /api/openstack-ports/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: target_tenant
GET /api/openstack-ports/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [target_tenant]
PATCH /api/openstack-ports/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: target_tenant
PUT /api/openstack-ports/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: target_tenant
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: DISABLED_OFFERING_TYPES
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: DISABLED_OFFERING_TYPES
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: DISABLED_OFFERING_TYPES
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: DISABLED_OFFERING_TYPES
GET /api/projects/checklist-template/
- New query param: parent_uuid
- Responses changed
- New response: 404
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- New property: required
- Modified property: questions
- Items changed
- Properties changed
- New property: required
HEAD /api/projects/checklist-template/
- New query param: parent_uuid
GET /api/proposal-proposals/checklist-template/
- New query param: parent_uuid
- Responses changed
- New response: 404
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- New property: required
- Modified property: questions
- Items changed
- Properties changed
- New property: required
HEAD /api/proposal-proposals/checklist-template/
- New query param: parent_uuid
POST /api/proposal-proposals/{uuid}/submit_answers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: completion
- Required changed
- New required property: requires_review
- New required property: review_trigger_summary
- New required property: reviewed_by_name
- Properties changed
- New property: requires_review
- New property: review_notes
- New property: review_trigger_summary
- New property: reviewed_at
- New property: reviewed_by
- New property: reviewed_by_name
OpenAPI schema diff - 7.8.8
For version 7.8.8
New Endpoints: 95
POST /api/marketplace-resources/{uuid}/reallocate_limits/
GET /api/marketplace-slurm-periodic-usage-policies/
HEAD /api/marketplace-slurm-periodic-usage-policies/
POST /api/marketplace-slurm-periodic-usage-policies/
GET /api/marketplace-slurm-periodic-usage-policies/actions/
HEAD /api/marketplace-slurm-periodic-usage-policies/actions/
DELETE /api/marketplace-slurm-periodic-usage-policies/{uuid}/
GET /api/marketplace-slurm-periodic-usage-policies/{uuid}/
PATCH /api/marketplace-slurm-periodic-usage-policies/{uuid}/
PUT /api/marketplace-slurm-periodic-usage-policies/{uuid}/
GET /api/openportal-allocation-user-usage/
HEAD /api/openportal-allocation-user-usage/
GET /api/openportal-allocation-user-usage/{id}/
GET /api/openportal-allocations/
HEAD /api/openportal-allocations/
POST /api/openportal-allocations/
DELETE /api/openportal-allocations/{uuid}/
GET /api/openportal-allocations/{uuid}/
PATCH /api/openportal-allocations/{uuid}/
PUT /api/openportal-allocations/{uuid}/
POST /api/openportal-allocations/{uuid}/pull/
POST /api/openportal-allocations/{uuid}/set_limits/
POST /api/openportal-allocations/{uuid}/unlink/
GET /api/openportal-associations/
HEAD /api/openportal-associations/
GET /api/openportal-associations/{uuid}/
GET /api/openportal-managed-projects/
HEAD /api/openportal-managed-projects/
GET /api/openportal-managed-projects/{identifier}/{destination}/
HEAD /api/openportal-managed-projects/{identifier}/{destination}/
POST /api/openportal-managed-projects/{identifier}/{destination}/approve/
POST /api/openportal-managed-projects/{identifier}/{destination}/attach/
DELETE /api/openportal-managed-projects/{identifier}/{destination}/delete/
POST /api/openportal-managed-projects/{identifier}/{destination}/detach/
POST /api/openportal-managed-projects/{identifier}/{destination}/reject/
GET /api/openportal-project-template/
HEAD /api/openportal-project-template/
POST /api/openportal-project-template/
DELETE /api/openportal-project-template/{uuid}/
GET /api/openportal-project-template/{uuid}/
PATCH /api/openportal-project-template/{uuid}/
PUT /api/openportal-project-template/{uuid}/
DELETE /api/openportal-project-template/{uuid}/delete/
GET /api/openportal-projectinfo/
HEAD /api/openportal-projectinfo/
POST /api/openportal-projectinfo/
DELETE /api/openportal-projectinfo/{project}/
GET /api/openportal-projectinfo/{project}/
PATCH /api/openportal-projectinfo/{project}/
PUT /api/openportal-projectinfo/{project}/
PUT /api/openportal-projectinfo/{project}/set_allowed_destinations/
PUT /api/openportal-projectinfo/{project}/set_shortname/
GET /api/openportal-remote-allocations/
HEAD /api/openportal-remote-allocations/
POST /api/openportal-remote-allocations/
DELETE /api/openportal-remote-allocations/{uuid}/
GET /api/openportal-remote-allocations/{uuid}/
PATCH /api/openportal-remote-allocations/{uuid}/
PUT /api/openportal-remote-allocations/{uuid}/
POST /api/openportal-remote-allocations/{uuid}/pull/
POST /api/openportal-remote-allocations/{uuid}/set_limits/
POST /api/openportal-remote-allocations/{uuid}/unlink/
GET /api/openportal-remote-associations/
HEAD /api/openportal-remote-associations/
GET /api/openportal-remote-associations/{uuid}/
GET /api/openportal-unmanaged-projects/
HEAD /api/openportal-unmanaged-projects/
POST /api/openportal-unmanaged-projects/
GET /api/openportal-unmanaged-projects/checklist-template/
HEAD /api/openportal-unmanaged-projects/checklist-template/
DELETE /api/openportal-unmanaged-projects/{uuid}/
GET /api/openportal-unmanaged-projects/{uuid}/
PATCH /api/openportal-unmanaged-projects/{uuid}/
PUT /api/openportal-unmanaged-projects/{uuid}/
POST /api/openportal-unmanaged-projects/{uuid}/add_user/
GET /api/openportal-unmanaged-projects/{uuid}/checklist/
GET /api/openportal-unmanaged-projects/{uuid}/completion_status/
POST /api/openportal-unmanaged-projects/{uuid}/delete_user/
GET /api/openportal-unmanaged-projects/{uuid}/list_users/
POST /api/openportal-unmanaged-projects/{uuid}/move_project/
POST /api/openportal-unmanaged-projects/{uuid}/recover/
GET /api/openportal-unmanaged-projects/{uuid}/stats/
POST /api/openportal-unmanaged-projects/{uuid}/submit_answers/
POST /api/openportal-unmanaged-projects/{uuid}/update_user/
GET /api/openportal-userinfo/
HEAD /api/openportal-userinfo/
POST /api/openportal-userinfo/
GET /api/openportal-userinfo/me/
HEAD /api/openportal-userinfo/me/
DELETE /api/openportal-userinfo/{user}/
GET /api/openportal-userinfo/{user}/
PATCH /api/openportal-userinfo/{user}/
PUT /api/openportal-userinfo/{user}/
PUT /api/openportal-userinfo/{user}/set_shortname/
POST /api/openstack-tenants/{uuid}/push_security_groups/
Deleted Endpoints: None
Modified Endpoints: 904
POST /api-auth/logout/
- Summary changed from '' to 'Log out'
- Description changed from 'Logout from the system. If single logout is supported, returns logout URL.' to 'Logs out the current user by deleting their authentication token. If single logout (SLO) is supported for the current authentication method (e.g., SAML2 or OIDC), this endpoint may return a logout URL to which the user should be redirected to complete the logout process on the identity provider side.'
POST /api-auth/password/
- Summary changed from '' to 'Obtain authentication token'
- Description changed from '' to 'Authenticates a user with username and password and returns an authentication token.'
GET /api/access-subnets/
- Summary changed from '' to 'List access subnets'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Retrieve a list of access subnets. Staff and support users can see all subnets, while other users can only see subnets associated with customers they have a role in.'
HEAD /api/access-subnets/
- Summary changed from '' to 'List access subnets'
POST /api/access-subnets/
- Summary changed from '' to 'Create an access subnet'
- Description changed from '' to 'Create a new access subnet for a customer.'
DELETE /api/access-subnets/{uuid}/
- Summary changed from '' to 'Delete an access subnet'
- Description changed from '' to 'Delete an existing access subnet.'
GET /api/access-subnets/{uuid}/
- Summary changed from '' to 'Retrieve access subnet'
- Description changed from '' to 'Fetch the details of a specific access subnet by its UUID.'
PATCH /api/access-subnets/{uuid}/
- Summary changed from '' to 'Partially update an access subnet'
- Description changed from '' to 'Partially update an existing access subnet.'
PUT /api/access-subnets/{uuid}/
- Summary changed from '' to 'Update an access subnet'
- Description changed from '' to 'Update an existing access subnet.'
GET /api/admin-announcements/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/auth-tokens/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/aws-images/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/aws-instances/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/aws-instances/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/aws-instances/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/aws-regions/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/aws-sizes/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/aws-volumes/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/aws-volumes/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/aws-volumes/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/azure-images/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/azure-locations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/azure-public-ips/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/azure-public-ips/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/azure-public-ips/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/azure-resource-groups/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/azure-sizes/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/azure-sql-databases/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/azure-sql-databases/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/azure-sql-databases/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/azure-sql-servers/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/azure-sql-servers/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/azure-sql-servers/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/azure-virtualmachines/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/azure-virtualmachines/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/azure-virtualmachines/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/backend-resource-requests/
- Summary changed from '' to 'List backend resource requests'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of requests for backend resources.'
HEAD /api/backend-resource-requests/
- Summary changed from '' to 'List backend resource requests'
POST /api/backend-resource-requests/
- Summary changed from '' to 'Create a backend resource request'
- Description changed from '' to 'Creates a new request to fetch a list of importable resources from a backend. This is typically used by staff to trigger a site agent to report available resources.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: RequestResourcesForAnOffering
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: RequestResourcesForAnOffering
GET /api/backend-resource-requests/{uuid}/
- Summary changed from '' to 'Retrieve a backend resource request'
- Description changed from '' to 'Returns the details of a specific backend resource request.'
POST /api/backend-resource-requests/{uuid}/set_done/
- Summary changed from '' to 'Mark a request as done'
- Description changed from '' to 'Transitions the request state from 'Processing' to 'Done'. This is used by a site agent to signal that it has successfully reported all available resources.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: status
- AdditionalProperties changed
- Schema deleted
POST /api/backend-resource-requests/{uuid}/set_erred/
- Summary changed from '' to 'Mark a request as erred'
- Description changed from '' to 'Transitions the request state to 'Erred'. This is used by a site agent to report a failure during the resource fetching process. An error message and traceback should be provided.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ReportAnError
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: status
- AdditionalProperties changed
- Schema deleted
- Examples changed
- New example: ReportAnError
POST /api/backend-resource-requests/{uuid}/start_processing/
- Summary changed from '' to 'Start processing a request'
- Description changed from '' to 'Transitions the request state from 'Sent' to 'Processing'. This is used by a site agent to acknowledge that it has started fetching the resource list.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: status
- AdditionalProperties changed
- Schema deleted
GET /api/backend-resources/
- Summary changed from '' to 'List backend resources'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of backend resources that are available for import. This endpoint is typically used by site agents to see which resources they have reported.'
HEAD /api/backend-resources/
- Summary changed from '' to 'List backend resources'
POST /api/backend-resources/
- Summary changed from '' to 'Create a backend resource'
- Description changed from '' to 'Creates a new backend resource record. This is typically done by a site agent to report a resource that is available for import into the marketplace.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateABackendResource
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateABackendResource
DELETE /api/backend-resources/{uuid}/
- Summary changed from '' to 'Delete a backend resource'
- Description changed from '' to 'Deletes a backend resource record. This is typically done when the resource is no longer available for import.'
GET /api/backend-resources/{uuid}/
- Summary changed from '' to 'Retrieve a backend resource'
- Description changed from '' to 'Returns the details of a specific backend resource.'
POST /api/backend-resources/{uuid}/import_resource/
- Summary changed from '' to 'Import a backend resource (staff only)'
- Description changed from '' to ' Converts a backend resource into a full marketplace resource. This action is restricted to staff users. Upon successful import, the original backend resource record is deleted. A fake order in the 'done' state is created to represent the import event. '
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ImportWithASpecificPlan
- New example: ImportWithoutAPlan(forPrivateOfferings)
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Examples changed
- New example: ImportWithASpecificPlan
- New example: ImportWithoutAPlan(forPrivateOfferings)
GET /api/booking-offerings/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/booking-resources/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
GET /api/booking-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
GET /api/broadcast-message-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/broadcast-messages/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/call-managing-organisations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/call-managing-organisations/{uuid}/add_user/
- Summary changed from '' to 'Grant a role to a user'
- Description changed from '' to 'Assigns a specific role to a user within the current scope. An optional expiration time for the role can be set.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: GrantProjectAdminRoleUntilEndOfYear
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleGrantResponse
- Modified response: 400
- Description changed from '' to 'Validation error, for example when trying to add a user to a terminated project.'
- Content changed
- Deleted media type: application/json
POST /api/call-managing-organisations/{uuid}/delete_user/
- Summary changed from '' to 'Revoke a role from a user'
- Description changed from '' to 'Removes a specific role from a user within the current scope. This effectively revokes their permissions associated with that role.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: RevokeProjectAdminRoleFromUser
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to 'Role revoked successfully.'
GET /api/call-managing-organisations/{uuid}/list_users/
- Summary changed from '' to 'List users and their roles in a scope'
- Description changed from '' to 'Retrieves a list of users who have a role within a specific scope (e.g., a project or an organization). The list can be filtered by user details or role.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExampleUserRoleListResponse
POST /api/call-managing-organisations/{uuid}/update_user/
- Summary changed from '' to 'Update a user's role expiration'
- Description changed from '' to 'Updates the expiration time for a user's existing role in the current scope. This is useful for extending or shortening the duration of a permission. To make a role permanent, set expiration_time to null.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExtendRoleUntilMid-2025
- New example: MakeARolePermanent
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleUpdateResponse
GET /api/call-proposal-project-role-mappings/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/call-rounds/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/celery-stats/
- Summary changed from '' to 'Get Celery worker statistics'
- Description changed from '' to 'Provides a snapshot of the Celery workers' status, including active, scheduled, reserved, and revoked tasks, as well as worker-specific statistics. Requires support user permissions.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
GET /api/checklists-admin-categories/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/checklists-admin-question-dependencies/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/checklists-admin-question-options/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/checklists-admin-questions/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
POST /api/checklists-admin-questions/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
GET /api/checklists-admin-questions/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
PATCH /api/checklists-admin-questions/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
PUT /api/checklists-admin-questions/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
GET /api/checklists-admin/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/checklists-admin/{uuid}/questions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
GET /api/component-user-usage-limits/
- Summary changed from '' to 'List component usage limits for users'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of usage limits set for specific users on resource components.'
HEAD /api/component-user-usage-limits/
- Summary changed from '' to 'List component usage limits for users'
POST /api/component-user-usage-limits/
- Summary changed from '' to 'Create a component usage limit for a user'
- Description changed from '' to 'Sets a usage limit for a specific user on a resource's component. This is only applicable for offerings that support per-user consumption limitation.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SetACPUUsageLimitForAUser
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SetACPUUsageLimitForAUser
DELETE /api/component-user-usage-limits/{uuid}/
- Summary changed from '' to 'Delete a component usage limit'
- Description changed from '' to 'Removes a usage limit for a user on a component.'
GET /api/component-user-usage-limits/{uuid}/
- Summary changed from '' to 'Retrieve a component usage limit'
- Description changed from '' to 'Returns the details of a specific user's usage limit for a component.'
PATCH /api/component-user-usage-limits/{uuid}/
- Summary changed from '' to 'Partially update a component usage limit'
- Description changed from '' to 'Partially updates an existing usage limit for a user on a component.'
PUT /api/component-user-usage-limits/{uuid}/
- Summary changed from '' to 'Update a component usage limit'
- Description changed from '' to 'Updates an existing usage limit for a user on a component.'
GET /api/configuration/
- Summary changed from '' to 'Get public configuration'
- Description changed from 'Retrieve public settings' to 'Returns a dictionary of public settings for the Waldur deployment. This includes feature flags, authentication methods, and other configuration details that are safe to expose to any user.'
GET /api/customer-credits/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/customer-permissions-reviews/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/customer-permissions-reviews/{uuid}/close/
- Summary changed from '' to 'Close customer permission review'
- Description changed from 'Close customer permission review.' to ''
GET /api/customers/
- Summary changed from '' to 'List customers'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Retrieve a list of customers. The list is filtered based on the user's permissions.'
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [grace_period_days]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: grace_period_days
- Modified property: access_subnets
- ReadOnly changed from true to false
- Modified property: accounting_start_date
- ReadOnly changed from true to false
- Modified property: agreement_number
- ReadOnly changed from true to false
- Modified property: archived
- ReadOnly changed from true to false
- Modified property: blocked
- ReadOnly changed from true to false
- Modified property: default_tax_percent
- ReadOnly changed from true to false
- Modified property: display_billing_info_in_projects
- ReadOnly changed from true to false
- Modified property: domain
- ReadOnly changed from true to false
- Modified property: max_service_accounts
- ReadOnly changed from true to false
- Modified property: project_metadata_checklist
- ReadOnly changed from true to false
- Modified property: sponsor_number
- ReadOnly changed from true to false
HEAD /api/customers/
- Summary changed from '' to 'List customers'
POST /api/customers/
- Summary changed from '' to 'Create a new customer'
- Description changed from 'A new customer can only be created by users with staff privilege' to 'A new customer can only be created by users with staff privilege.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: access_subnets
- New property: accounting_start_date
- New property: agreement_number
- New property: archived
- New property: blocked
- New property: default_tax_percent
- New property: display_billing_info_in_projects
- New property: domain
- New property: grace_period_days
- New property: max_service_accounts
- New property: project_metadata_checklist
- New property: sponsor_number
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: access_subnets
- New property: accounting_start_date
- New property: agreement_number
- New property: archived
- New property: blocked
- New property: default_tax_percent
- New property: display_billing_info_in_projects
- New property: domain
- New property: grace_period_days
- New property: max_service_accounts
- New property: project_metadata_checklist
- New property: sponsor_number
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: access_subnets
- New property: accounting_start_date
- New property: agreement_number
- New property: archived
- New property: blocked
- New property: default_tax_percent
- New property: display_billing_info_in_projects
- New property: domain
- New property: grace_period_days
- New property: max_service_accounts
- New property: project_metadata_checklist
- New property: sponsor_number
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
- Modified property: access_subnets
- ReadOnly changed from true to false
- Modified property: accounting_start_date
- ReadOnly changed from true to false
- Modified property: agreement_number
- ReadOnly changed from true to false
- Modified property: archived
- ReadOnly changed from true to false
- Modified property: blocked
- ReadOnly changed from true to false
- Modified property: default_tax_percent
- ReadOnly changed from true to false
- Modified property: display_billing_info_in_projects
- ReadOnly changed from true to false
- Modified property: domain
- ReadOnly changed from true to false
- Modified property: max_service_accounts
- ReadOnly changed from true to false
- Modified property: project_metadata_checklist
- ReadOnly changed from true to false
- Modified property: sponsor_number
- ReadOnly changed from true to false
GET /api/customers/countries/
- Summary changed from '' to 'Get list of available countries'
- Description changed from 'Return list of countries' to 'Returns a list of countries that can be used when creating or updating a customer. The list can be configured by the service provider.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CountryListResponse
HEAD /api/customers/countries/
- Summary changed from '' to 'Get list of available countries'
GET /api/customers/{customer_uuid}/project-metadata-compliance-details/
- Summary changed from '' to 'Get detailed project metadata compliance'
- Description changed from 'Get detailed project compliance information with database-level pagination.' to 'Provides detailed compliance status for all projects within a customer, including individual answers and completion status.'
GET /api/customers/{customer_uuid}/project-metadata-compliance-overview/
- Summary changed from '' to 'Get project metadata compliance overview'
- Description changed from 'Get compliance overview statistics for all projects.' to 'Provides aggregated statistics about project metadata compliance for all projects within a customer.'
GET /api/customers/{customer_uuid}/project-metadata-compliance-projects/
- Summary changed from '' to 'List projects with compliance data'
- Description changed from 'List project checklist answer data with database-level pagination.' to 'Provides a paginated list of projects with their checklist completion status and answer details.'
GET /api/customers/{customer_uuid}/project-metadata-question-answers/
- Summary changed from '' to 'List questions with project answers'
- Description changed from 'List questions with project answers, paginated by question at database level.' to 'Provides a paginated list of all questions from the customer's compliance checklist, including the answers given in each project.'
GET /api/customers/{customer_uuid}/users/
- Summary changed from '' to 'List users of a customer'
- Description changed from 'A list of users connected to the customer.' to 'Lists all users who have a role in the specified customer or any of its projects. Requires permissions to list customer users.'
DELETE /api/customers/{uuid}/
- Summary changed from '' to 'Delete a customer'
- Description changed from 'If a customer has connected projects, deletion request will fail with 409 response code.' to 'Delete a customer. This action is only available to staff users. If a customer has any active projects, the deletion request will fail with a 409 Conflict response.'
GET /api/customers/{uuid}/
- Summary changed from '' to 'Retrieve customer details'
- Description changed from '' to 'Fetch the details of a specific customer by its UUID.'
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [grace_period_days]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
- Modified property: access_subnets
- ReadOnly changed from true to false
- Modified property: accounting_start_date
- ReadOnly changed from true to false
- Modified property: agreement_number
- ReadOnly changed from true to false
- Modified property: archived
- ReadOnly changed from true to false
- Modified property: blocked
- ReadOnly changed from true to false
- Modified property: default_tax_percent
- ReadOnly changed from true to false
- Modified property: display_billing_info_in_projects
- ReadOnly changed from true to false
- Modified property: domain
- ReadOnly changed from true to false
- Modified property: max_service_accounts
- ReadOnly changed from true to false
- Modified property: project_metadata_checklist
- ReadOnly changed from true to false
- Modified property: sponsor_number
- ReadOnly changed from true to false
PATCH /api/customers/{uuid}/
- Summary changed from '' to 'Partially update a customer'
- Description changed from '' to 'Partially update the details of an existing customer. Requires customer owner or staff permissions.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: access_subnets
- New property: accounting_start_date
- New property: agreement_number
- New property: archived
- New property: blocked
- New property: default_tax_percent
- New property: display_billing_info_in_projects
- New property: domain
- New property: grace_period_days
- New property: max_service_accounts
- New property: project_metadata_checklist
- New property: sponsor_number
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: access_subnets
- New property: accounting_start_date
- New property: agreement_number
- New property: archived
- New property: blocked
- New property: default_tax_percent
- New property: display_billing_info_in_projects
- New property: domain
- New property: grace_period_days
- New property: max_service_accounts
- New property: project_metadata_checklist
- New property: sponsor_number
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: access_subnets
- New property: accounting_start_date
- New property: agreement_number
- New property: archived
- New property: blocked
- New property: default_tax_percent
- New property: display_billing_info_in_projects
- New property: domain
- New property: grace_period_days
- New property: max_service_accounts
- New property: project_metadata_checklist
- New property: sponsor_number
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
- Modified property: access_subnets
- ReadOnly changed from true to false
- Modified property: accounting_start_date
- ReadOnly changed from true to false
- Modified property: agreement_number
- ReadOnly changed from true to false
- Modified property: archived
- ReadOnly changed from true to false
- Modified property: blocked
- ReadOnly changed from true to false
- Modified property: default_tax_percent
- ReadOnly changed from true to false
- Modified property: display_billing_info_in_projects
- ReadOnly changed from true to false
- Modified property: domain
- ReadOnly changed from true to false
- Modified property: max_service_accounts
- ReadOnly changed from true to false
- Modified property: project_metadata_checklist
- ReadOnly changed from true to false
- Modified property: sponsor_number
- ReadOnly changed from true to false
PUT /api/customers/{uuid}/
- Summary changed from '' to 'Update a customer'
- Description changed from '' to 'Update the details of an existing customer. Requires customer owner or staff permissions.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: access_subnets
- New property: accounting_start_date
- New property: agreement_number
- New property: archived
- New property: blocked
- New property: default_tax_percent
- New property: display_billing_info_in_projects
- New property: domain
- New property: grace_period_days
- New property: max_service_accounts
- New property: project_metadata_checklist
- New property: sponsor_number
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: access_subnets
- New property: accounting_start_date
- New property: agreement_number
- New property: archived
- New property: blocked
- New property: default_tax_percent
- New property: display_billing_info_in_projects
- New property: domain
- New property: grace_period_days
- New property: max_service_accounts
- New property: project_metadata_checklist
- New property: sponsor_number
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: access_subnets
- New property: accounting_start_date
- New property: agreement_number
- New property: archived
- New property: blocked
- New property: default_tax_percent
- New property: display_billing_info_in_projects
- New property: domain
- New property: grace_period_days
- New property: max_service_accounts
- New property: project_metadata_checklist
- New property: sponsor_number
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
- Modified property: access_subnets
- ReadOnly changed from true to false
- Modified property: accounting_start_date
- ReadOnly changed from true to false
- Modified property: agreement_number
- ReadOnly changed from true to false
- Modified property: archived
- ReadOnly changed from true to false
- Modified property: blocked
- ReadOnly changed from true to false
- Modified property: default_tax_percent
- ReadOnly changed from true to false
- Modified property: display_billing_info_in_projects
- ReadOnly changed from true to false
- Modified property: domain
- ReadOnly changed from true to false
- Modified property: max_service_accounts
- ReadOnly changed from true to false
- Modified property: project_metadata_checklist
- ReadOnly changed from true to false
- Modified property: sponsor_number
- ReadOnly changed from true to false
POST /api/customers/{uuid}/add_user/
- Summary changed from '' to 'Grant a role to a user'
- Description changed from '' to 'Assigns a specific role to a user within the current scope. An optional expiration time for the role can be set.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: GrantProjectAdminRoleUntilEndOfYear
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleGrantResponse
- Modified response: 400
- Description changed from '' to 'Validation error, for example when trying to add a user to a terminated project.'
- Content changed
- Deleted media type: application/json
POST /api/customers/{uuid}/delete_user/
- Summary changed from '' to 'Revoke a role from a user'
- Description changed from '' to 'Removes a specific role from a user within the current scope. This effectively revokes their permissions associated with that role.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: RevokeProjectAdminRoleFromUser
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to 'Role revoked successfully.'
GET /api/customers/{uuid}/list_users/
- Summary changed from '' to 'List users and their roles in a scope'
- Description changed from '' to 'Retrieves a list of users who have a role within a specific scope (e.g., a project or an organization). The list can be filtered by user details or role.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExampleUserRoleListResponse
GET /api/customers/{uuid}/stats/
- Summary changed from '' to 'Get customer resource usage statistics'
- Description changed from 'Return statistics about customer resources usage' to 'Provides statistics about the resource usage (e.g., CPU, RAM, storage) for all projects within a customer. Can be filtered to show usage for the current month only.'
- Modified query param: for_current_month
- Description changed from '' to 'If true, returns usage data for the current month only. Otherwise, returns total usage.'
POST /api/customers/{uuid}/update_organization_groups/
- Summary changed from '' to 'Update organization groups for a customer'
- Description changed from 'Update organization groups for customer' to 'Assigns a customer to one or more organization groups. This action is restricted to staff users.'
POST /api/customers/{uuid}/update_user/
- Summary changed from '' to 'Update a user's role expiration'
- Description changed from '' to 'Updates the expiration time for a user's existing role in the current scope. This is useful for extending or shortening the duration of a permission. To make a role permanent, set expiration_time to null.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExtendRoleUntilMid-2025
- New example: MakeARolePermanent
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleUpdateResponse
GET /api/database-stats/
- Summary changed from '' to 'Get database table statistics'
- Description changed from '' to 'Retrieves statistics about the database, including the top 10 largest tables by total size. This information is useful for monitoring and maintenance. Requires support user permissions.'
GET /api/digitalocean-droplets/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/digitalocean-droplets/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/digitalocean-droplets/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/digitalocean-images/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/digitalocean-regions/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/digitalocean-sizes/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/email-logs/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/event-subscriptions/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/events-stats/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/events/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/external-links/
- Summary changed from '' to 'List external links'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Retrieve a list of external links available in the system.'
HEAD /api/external-links/
- Summary changed from '' to 'List external links'
POST /api/external-links/
- Summary changed from '' to 'Create an external link'
- Description changed from '' to 'Create a new external link. This action is restricted to staff users.'
DELETE /api/external-links/{uuid}/
- Summary changed from '' to 'Delete an external link'
- Description changed from '' to 'Delete an existing external link. This action is restricted to staff users.'
GET /api/external-links/{uuid}/
- Summary changed from '' to 'Retrieve external link'
- Description changed from '' to 'Fetch the details of a specific external link by its UUID.'
PATCH /api/external-links/{uuid}/
- Summary changed from '' to 'Partially update an external link'
- Description changed from '' to 'Partially update an existing external link. This action is restricted to staff users.'
PUT /api/external-links/{uuid}/
- Summary changed from '' to 'Update an external link'
- Description changed from '' to 'Update an existing external link. This action is restricted to staff users.'
POST /api/feature-values/
- Summary changed from '' to 'Update feature flags'
- Description changed from 'Override feature values' to 'Allows administrators to enable or disable specific feature flags in the system. The request should be a dictionary where keys are feature sections and values are dictionaries of feature keys and their boolean state.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: UpdateUserAndMarketplaceFeatures
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulResponse
GET /api/financial-reports/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/freeipa-profiles/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/google-auth/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/hooks-email/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/hooks-web/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/hooks/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/identity-providers/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/invoice-items/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/invoices/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/keycloak-groups/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/keycloak-user-group-memberships/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/keys/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/lexis-links/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/maintenance-announcement-offerings/
- Summary changed from '' to 'List affected offerings for maintenance'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of offerings affected by maintenance announcements.'
HEAD /api/maintenance-announcement-offerings/
- Summary changed from '' to 'List affected offerings for maintenance'
POST /api/maintenance-announcement-offerings/
- Summary changed from '' to 'Link an offering to a maintenance announcement'
- Description changed from '' to 'Creates a new association between an offering and a maintenance announcement, specifying the expected impact.'
DELETE /api/maintenance-announcement-offerings/{uuid}/
- Summary changed from '' to 'Unlink an offering from a maintenance announcement'
- Description changed from '' to 'Removes the association between an offering and a maintenance announcement.'
GET /api/maintenance-announcement-offerings/{uuid}/
- Summary changed from '' to 'Retrieve an affected offering link'
- Description changed from '' to 'Returns the details of a specific link between a maintenance announcement and an offering, including the impact level and description.'
PATCH /api/maintenance-announcement-offerings/{uuid}/
- Summary changed from '' to 'Partially update an affected offering link'
- Description changed from '' to 'Partially updates the impact level or description for an offering linked to a maintenance announcement.'
PUT /api/maintenance-announcement-offerings/{uuid}/
- Summary changed from '' to 'Update an affected offering link'
- Description changed from '' to 'Updates the impact level or description for an offering linked to a maintenance announcement.'
GET /api/maintenance-announcement-template-offerings/
- Summary changed from '' to 'List affected offering templates'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of associations between maintenance announcement templates and offerings.'
HEAD /api/maintenance-announcement-template-offerings/
- Summary changed from '' to 'List affected offering templates'
POST /api/maintenance-announcement-template-offerings/
- Summary changed from '' to 'Link an offering to a maintenance template'
- Description changed from '' to 'Creates a reusable association between an offering and a maintenance announcement template, specifying a default impact level and description.'
DELETE /api/maintenance-announcement-template-offerings/{uuid}/
- Summary changed from '' to 'Unlink an offering from a maintenance template'
- Description changed from '' to 'Removes the association between an offering and a maintenance announcement template.'
GET /api/maintenance-announcement-template-offerings/{uuid}/
- Summary changed from '' to 'Retrieve an affected offering template link'
- Description changed from '' to 'Returns the details of a specific link between a maintenance announcement template and an offering.'
PATCH /api/maintenance-announcement-template-offerings/{uuid}/
- Summary changed from '' to 'Partially update an affected offering template link'
- Description changed from '' to 'Partially updates the default impact level or description for an offering linked to a maintenance template.'
PUT /api/maintenance-announcement-template-offerings/{uuid}/
- Summary changed from '' to 'Update an affected offering template link'
- Description changed from '' to 'Updates the default impact level or description for an offering linked to a maintenance template.'
GET /api/maintenance-announcements-template/
- Summary changed from '' to 'List maintenance announcement templates'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of reusable templates for maintenance announcements.'
HEAD /api/maintenance-announcements-template/
- Summary changed from '' to 'List maintenance announcement templates'
POST /api/maintenance-announcements-template/
- Summary changed from '' to 'Create a maintenance announcement template'
- Description changed from '' to 'Creates a new reusable template for maintenance announcements, including a default message and type.'
DELETE /api/maintenance-announcements-template/{uuid}/
- Summary changed from '' to 'Delete a maintenance announcement template'
- Description changed from '' to 'Deletes a maintenance announcement template.'
GET /api/maintenance-announcements-template/{uuid}/
- Summary changed from '' to 'Retrieve a maintenance announcement template'
- Description changed from '' to 'Returns the details of a specific maintenance announcement template.'
PATCH /api/maintenance-announcements-template/{uuid}/
- Summary changed from '' to 'Partially update a maintenance announcement template'
- Description changed from '' to 'Partially updates an existing maintenance announcement template.'
PUT /api/maintenance-announcements-template/{uuid}/
- Summary changed from '' to 'Update a maintenance announcement template'
- Description changed from '' to 'Updates an existing maintenance announcement template.'
GET /api/maintenance-announcements/
- Summary changed from '' to 'List maintenance announcements'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of maintenance announcements.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: internal_notes
HEAD /api/maintenance-announcements/
- Summary changed from '' to 'List maintenance announcements'
POST /api/maintenance-announcements/
- Summary changed from '' to 'Create a maintenance announcement'
- Description changed from '' to 'Creates a new maintenance announcement in the 'Draft' state.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: internal_notes
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: internal_notes
DELETE /api/maintenance-announcements/{uuid}/
- Summary changed from '' to 'Delete a maintenance announcement'
- Description changed from '' to 'Deletes a maintenance announcement.'
GET /api/maintenance-announcements/{uuid}/
- Summary changed from '' to 'Retrieve a maintenance announcement'
- Description changed from '' to 'Returns the details of a specific maintenance announcement.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: internal_notes
PATCH /api/maintenance-announcements/{uuid}/
- Summary changed from '' to 'Partially update a maintenance announcement'
- Description changed from '' to 'Partially updates an existing maintenance announcement.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: internal_notes
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: internal_notes
PUT /api/maintenance-announcements/{uuid}/
- Summary changed from '' to 'Update a maintenance announcement'
- Description changed from '' to 'Updates an existing maintenance announcement.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: internal_notes
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: internal_notes
POST /api/maintenance-announcements/{uuid}/cancel_maintenance/
- Summary changed from '' to 'Cancel the maintenance announcement'
- Description changed from 'Cancel the maintenance announcement' to 'Transitions a 'Draft' or 'Scheduled' maintenance announcement to 'Cancelled'.'
POST /api/maintenance-announcements/{uuid}/complete_maintenance/
- Summary changed from '' to 'Complete the maintenance announcement'
- Description changed from 'Complete the maintenance announcement' to 'Transitions an 'In progress' maintenance announcement to 'Completed', indicating that the maintenance work has finished.'
POST /api/maintenance-announcements/{uuid}/schedule/
- Summary changed from '' to 'Schedule/publish the maintenance announcement'
- Description changed from 'Schedule/publish the maintenance announcement' to 'Transitions a 'Draft' maintenance announcement to the 'Scheduled' state, making it publicly visible.'
POST /api/maintenance-announcements/{uuid}/start_maintenance/
- Summary changed from '' to 'Start the maintenance announcement'
- Description changed from 'Start the maintenance announcement' to 'Transitions a 'Scheduled' maintenance announcement to 'In progress', indicating that the maintenance work has begun.'
POST /api/maintenance-announcements/{uuid}/unschedule/
- Summary changed from '' to 'Unschedule/unpublish the maintenance announcement'
- Description changed from 'Unschedule/unpublish the maintenance announcement' to 'Transitions a 'Scheduled' maintenance announcement back to the 'Draft' state, hiding it from public view.'
GET /api/managed-rancher-cluster-resources/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
GET /api/managed-rancher-cluster-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
GET /api/marketplace-categories/
- Summary changed from '' to 'List categories'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of marketplace categories.'
HEAD /api/marketplace-categories/
- Summary changed from '' to 'List categories'
POST /api/marketplace-categories/
- Summary changed from '' to 'Create a category'
- Description changed from '' to 'Creates a new marketplace category. Requires staff permissions.'
DELETE /api/marketplace-categories/{uuid}/
- Summary changed from '' to 'Delete a category'
- Description changed from '' to 'Deletes a marketplace category. Requires staff permissions.'
GET /api/marketplace-categories/{uuid}/
- Summary changed from '' to 'Retrieve a category'
- Description changed from '' to 'Returns details of a specific marketplace category.'
PATCH /api/marketplace-categories/{uuid}/
- Summary changed from '' to 'Partially update a category'
- Description changed from '' to 'Partially updates an existing marketplace category. Requires staff permissions.'
PUT /api/marketplace-categories/{uuid}/
- Summary changed from '' to 'Update a category'
- Description changed from '' to 'Updates an existing marketplace category. Requires staff permissions.'
GET /api/marketplace-category-columns/
- Summary changed from '' to 'List category columns'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of category columns used for resource table rendering.'
HEAD /api/marketplace-category-columns/
- Summary changed from '' to 'List category columns'
POST /api/marketplace-category-columns/
- Summary changed from '' to 'Create a category column'
- Description changed from '' to 'Creates a new category column. Requires staff permissions.'
DELETE /api/marketplace-category-columns/{uuid}/
- Summary changed from '' to 'Delete a category column'
- Description changed from '' to 'Deletes a category column. Requires staff permissions.'
GET /api/marketplace-category-columns/{uuid}/
- Summary changed from '' to 'Retrieve a category column'
- Description changed from '' to 'Returns details of a specific category column.'
PATCH /api/marketplace-category-columns/{uuid}/
- Summary changed from '' to 'Partially update a category column'
- Description changed from '' to 'Partially updates an existing category column. Requires staff permissions.'
PUT /api/marketplace-category-columns/{uuid}/
- Summary changed from '' to 'Update a category column'
- Description changed from '' to 'Updates an existing category column. Requires staff permissions.'
GET /api/marketplace-category-component-usages/
- Summary changed from '' to 'List aggregated category component usages'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to '
Returns a paginated list of aggregated component usages for marketplace categories.
This data is scoped to either a customer or a project and represents the total usage
of a component type (e.g., total 'CPU hours' used across all resources of a certain category
within a project).
1 2
The list **must** be filtered by a `scope` parameter (either a customer or project URL). '
HEAD /api/marketplace-category-component-usages/
- Summary changed from '' to 'List aggregated category component usages'
GET /api/marketplace-category-component-usages/{id}/
- Summary changed from '' to 'Retrieve an aggregated category component usage record'
- Description changed from '' to 'Returns the details of a single aggregated usage record for a category component, identified by its database ID.'
GET /api/marketplace-category-components/
- Summary changed from '' to 'List category components'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of all components defined at the category level. These act as templates for components in offerings.'
HEAD /api/marketplace-category-components/
- Summary changed from '' to 'List category components'
POST /api/marketplace-category-components/
- Summary changed from '' to 'Create a category component'
- Description changed from '' to 'Creates a new component for a category. Requires staff permissions.'
DELETE /api/marketplace-category-components/{id}/
- Summary changed from '' to 'Delete a category component'
- Description changed from '' to 'Deletes a category component. Requires staff permissions.'
GET /api/marketplace-category-components/{id}/
- Summary changed from '' to 'Retrieve a category component'
- Description changed from '' to 'Returns the details of a specific category component, identified by its ID.'
PATCH /api/marketplace-category-components/{id}/
- Summary changed from '' to 'Partially update a category component'
- Description changed from '' to 'Partially updates an existing category component. Requires staff permissions.'
PUT /api/marketplace-category-components/{id}/
- Summary changed from '' to 'Update a category component'
- Description changed from '' to 'Updates an existing category component. Requires staff permissions.'
GET /api/marketplace-category-groups/
- Summary changed from '' to 'List category groups'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of category groups.'
HEAD /api/marketplace-category-groups/
- Summary changed from '' to 'List category groups'
POST /api/marketplace-category-groups/
- Summary changed from '' to 'Create a category group'
- Description changed from '' to 'Creates a new category group. Requires staff permissions.'
DELETE /api/marketplace-category-groups/{uuid}/
- Summary changed from '' to 'Delete a category group'
- Description changed from '' to 'Deletes a category group. Requires staff permissions.'
GET /api/marketplace-category-groups/{uuid}/
- Summary changed from '' to 'Retrieve a category group'
- Description changed from '' to 'Returns details of a specific category group.'
PATCH /api/marketplace-category-groups/{uuid}/
- Summary changed from '' to 'Partially update a category group'
- Description changed from '' to 'Partially updates an existing category group. Requires staff permissions.'
PUT /api/marketplace-category-groups/{uuid}/
- Summary changed from '' to 'Update a category group'
- Description changed from '' to 'Updates an existing category group. Requires staff permissions.'
GET /api/marketplace-category-help-articles/
- Summary changed from '' to 'List category help articles'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of all help articles associated with marketplace categories.'
HEAD /api/marketplace-category-help-articles/
- Summary changed from '' to 'List category help articles'
POST /api/marketplace-category-help-articles/
- Summary changed from '' to 'Create a category help article'
- Description changed from '' to 'Creates a new help article and associates it with one or more categories. Requires staff permissions.'
DELETE /api/marketplace-category-help-articles/{id}/
- Summary changed from '' to 'Delete a category help article'
- Description changed from '' to 'Deletes a help article. Requires staff permissions.'
GET /api/marketplace-category-help-articles/{id}/
- Summary changed from '' to 'Retrieve a category help article'
- Description changed from '' to 'Returns the details of a specific help article, identified by its ID.'
PATCH /api/marketplace-category-help-articles/{id}/
- Summary changed from '' to 'Partially update a category help article'
- Description changed from '' to 'Partially updates an existing help article. Requires staff permissions.'
PUT /api/marketplace-category-help-articles/{id}/
- Summary changed from '' to 'Update a category help article'
- Description changed from '' to 'Updates an existing help article. Requires staff permissions.'
GET /api/marketplace-component-usages/
- Summary changed from '' to 'List component usage records'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of component usage records for resources. This data is used for billing and usage tracking.'
HEAD /api/marketplace-component-usages/
- Summary changed from '' to 'List component usage records'
POST /api/marketplace-component-usages/set_usage/
- Summary changed from '' to 'Set component usage for a resource'
- Description changed from '' to '
Allows a service provider to report usage for one or more components of a specific resource.
This endpoint is typically used by backend systems or agents to submit periodic usage data.
1 2 3 4
- If a `plan_period` is provided, the usage is associated with that period. - If only a `resource` is provided, the system will determine the correct plan period based on the current date. - If a usage record for the same resource, component, and billing period already exists, it will be updated. Otherwise, a new record is created. '- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ReportUsageForMultipleComponents
GET /api/marketplace-component-usages/{uuid}/
- Summary changed from '' to 'Retrieve a component usage record'
- Description changed from '' to 'Returns the details of a specific component usage record.'
POST /api/marketplace-component-usages/{uuid}/set_user_usage/
- Summary changed from '' to 'Set user-specific component usage'
- Description changed from '' to '
Allows a service provider to report usage for a specific user associated with a resource's component.
This is used for detailed, per-user usage tracking within a single resource.
1 2 3
- If a user-specific usage record already exists for the given component usage, it will be updated. - Otherwise, a new record is created. '- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ReportUsageForASpecificUser
GET /api/marketplace-component-user-usages/
- Summary changed from '' to 'List user-specific component usages'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ' Returns a paginated list of component usage records attributed to specific users. This provides a granular view of resource consumption, breaking down the total usage of a component by individual users. '
HEAD /api/marketplace-component-user-usages/
- Summary changed from '' to 'List user-specific component usages'
GET /api/marketplace-component-user-usages/{uuid}/
- Summary changed from '' to 'Retrieve a user-specific component usage record'
- Description changed from '' to 'Returns the details of a single user-specific component usage record.'
GET /api/marketplace-course-accounts/
- Summary changed from '' to 'List course accounts'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of course accounts accessible to the current user.'
HEAD /api/marketplace-course-accounts/
- Summary changed from '' to 'List course accounts'
POST /api/marketplace-course-accounts/
- Summary changed from '' to 'Create a course account'
- Description changed from '' to 'Creates a new temporary course account within a specified course project.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateACourseAccount
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateACourseAccount
POST /api/marketplace-course-accounts/create_bulk/
- Summary changed from '' to 'Bulk create course accounts'
- Description changed from '' to 'Creates multiple course accounts within a specified course project in a single request.'
- New query param: email
- New query param: o
- New query param: page
- New query param: page_size
- New query param: project_end_date_after
- New query param: project_end_date_before
- New query param: project_start_date_after
- New query param: project_start_date_before
- New query param: project_uuid
- New query param: state
- New query param: username
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: BulkCreateThreeCourseAccounts
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Type changed from 'object' to 'array'
- Items changed
- Schema added
- Required changed
- Deleted required property: course_accounts
- Deleted required property: project
- Properties changed
- Deleted property: course_accounts
- Deleted property: project
- Examples changed
- New example: BulkCreateThreeCourseAccounts
DELETE /api/marketplace-course-accounts/{uuid}/
- Summary changed from '' to 'Delete (close) a course account'
- Description changed from '' to 'Deletes a course account, which triggers a 'close' operation in the backend.'
GET /api/marketplace-course-accounts/{uuid}/
- Summary changed from '' to 'Retrieve a course account'
- Description changed from '' to 'Returns the details of a specific course account.'
GET /api/marketplace-customer-component-usage-policies/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-customer-estimated-cost-policies/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-customer-service-accounts/
- Summary changed from '' to 'List service accounts'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
HEAD /api/marketplace-customer-service-accounts/
- Summary changed from '' to 'List service accounts'
POST /api/marketplace-customer-service-accounts/
- Summary changed from '' to 'Create a customer service account'
- Description changed from '' to 'Creates a new service account scoped to a specific customer (organization). This generates an API key that can be used for automated access to resources across all projects within that customer.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateACustomerServiceAccount
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateACustomerServiceAccount
DELETE /api/marketplace-customer-service-accounts/{uuid}/
- Summary changed from '' to 'Close a customer service account'
- Description changed from '' to 'Deactivates a customer service account and revokes its API key.'
GET /api/marketplace-customer-service-accounts/{uuid}/
- Summary changed from '' to 'Retrieve a service account'
PATCH /api/marketplace-customer-service-accounts/{uuid}/
- Summary changed from '' to 'Partially update a service account'
PUT /api/marketplace-customer-service-accounts/{uuid}/
- Summary changed from '' to 'Update a service account'
POST /api/marketplace-customer-service-accounts/{uuid}/rotate_api_key/
- Summary changed from '' to 'Rotate API key for a customer service account'
- Description changed from '' to 'Generates a new API key for the service account, immediately invalidating the old one. The new key is returned in the response.'
GET /api/marketplace-global-categories/
- Summary changed from '' to 'Get resource counts by category'
- Description changed from 'Count of resource categories for all resources accessible by user.' to '
Returns a dictionary mapping marketplace category UUIDs to the count of active (non-terminated)
resources the current user has access to within that category. This is primarily used for UI
dashboards or sidebars to display the number of resources in each category filter.
1 2
The counts can be further filtered by providing a `project_uuid` or `customer_uuid`. '- Modified query param: customer_uuid
- Description changed from 'UUID of the customer to filter resources by.' to 'Filter counts by resources within a specific customer.'
- Modified query param: project_uuid
- Description changed from 'UUID of the project to filter resources by.' to 'Filter counts by resources within a specific project.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- AdditionalProperties changed
- Type changed from 'integer' to ''
- Examples changed
- New example: ExampleOfCategoryResourceCounts
GET /api/marketplace-integration-statuses/
- Summary changed from '' to 'List integration statuses'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of integration statuses for offerings. This is used to monitor the connectivity and health of backend agents (e.g., site agents) associated with offerings.'
HEAD /api/marketplace-integration-statuses/
- Summary changed from '' to 'List integration statuses'
GET /api/marketplace-integration-statuses/{uuid}/
- Summary changed from '' to 'Retrieve an integration status'
- Description changed from '' to 'Returns the details of a specific integration status, including the agent type, status, and last request timestamp.'
GET /api/marketplace-offering-estimated-cost-policies/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
POST /api/marketplace-offering-estimated-cost-policies/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
GET /api/marketplace-offering-estimated-cost-policies/actions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
GET /api/marketplace-offering-estimated-cost-policies/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
PATCH /api/marketplace-offering-estimated-cost-policies/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: apply_to_all
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
PUT /api/marketplace-offering-estimated-cost-policies/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
GET /api/marketplace-offering-files/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-offering-permissions-log/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-offering-permissions/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-offering-referrals/
- Summary changed from '' to 'List Datacite referrals for offerings'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of Datacite referrals associated with marketplace offerings. Referrals represent relationships between an offering (identified by a DOI) and other research outputs, such as publications or datasets. The list must be filtered by the offering's scope.'
HEAD /api/marketplace-offering-referrals/
- Summary changed from '' to 'List Datacite referrals for offerings'
GET /api/marketplace-offering-referrals/{uuid}/
- Summary changed from '' to 'Retrieve a specific Datacite referral'
- Description changed from '' to 'Returns the details of a single Datacite referral record, identified by its UUID. Details include the related identifier (PID), the type of relationship, and metadata about the related work.'
GET /api/marketplace-offering-terms-of-service/
- Summary changed from '' to 'List Terms of Service configurations'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of Terms of Service configurations for offerings. Visibility depends on user permissions: staff/support see all; service providers see their own; regular users see ToS for offerings they have consented to or shared offerings.'
HEAD /api/marketplace-offering-terms-of-service/
- Summary changed from '' to 'List Terms of Service configurations'
POST /api/marketplace-offering-terms-of-service/
- Summary changed from '' to 'Create a Terms of Service configuration'
- Description changed from '' to 'Creates a new Terms of Service configuration for an offering. Only one active ToS configuration is allowed per offering.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateANewActiveToSForAnOffering
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateANewActiveToSForAnOffering
DELETE /api/marketplace-offering-terms-of-service/{uuid}/
- Summary changed from '' to 'Delete a Terms of Service configuration'
- Description changed from '' to 'Deletes a Terms of Service configuration. This is a hard delete and should be used with caution.'
GET /api/marketplace-offering-terms-of-service/{uuid}/
- Summary changed from '' to 'Retrieve a Terms of Service configuration'
- Description changed from '' to 'Returns the details of a specific Terms of Service configuration.'
PATCH /api/marketplace-offering-terms-of-service/{uuid}/
- Summary changed from '' to 'Partially update a Terms of Service configuration'
- Description changed from '' to 'Partially updates an existing Terms of Service configuration.'
PUT /api/marketplace-offering-terms-of-service/{uuid}/
- Summary changed from '' to 'Update a Terms of Service configuration'
- Description changed from '' to 'Updates an existing Terms of Service configuration. Note that some fields like
versionandrequires_reconsentare protected and cannot be changed after creation.'
GET /api/marketplace-offering-usage-policies/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
POST /api/marketplace-offering-usage-policies/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
GET /api/marketplace-offering-usage-policies/actions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
GET /api/marketplace-offering-usage-policies/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
PATCH /api/marketplace-offering-usage-policies/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: apply_to_all
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
PUT /api/marketplace-offering-usage-policies/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: organization_groups
- Properties changed
- New property: apply_to_all
GET /api/marketplace-offering-user-checklist-completions/
- Summary changed from '' to 'List checklist completions for offering users'
- Description changed from 'Override list to add OfferingUser data optimization.' to '
Returns a paginated list of all checklist completions for offering users that the current user is allowed to see.
This endpoint is used by service providers to monitor compliance status and by users to see their own required checklists.
Visibility follows the same rules as the
OfferingUsersendpoint. '
HEAD /api/marketplace-offering-user-checklist-completions/
- Summary changed from '' to 'List checklist completions for offering users'
GET /api/marketplace-offering-user-checklist-completions/{id}/
- Summary changed from '' to 'Retrieve a checklist completion'
- Description changed from '' to 'Returns the details of a specific checklist completion for an offering user.'
GET /api/marketplace-offering-user-roles/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-offering-users/
- Summary changed from '' to 'List offering users'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of users associated with offerings. The visibility of users depends on the role of the authenticated user. Staff and support can see all users. Service providers can see users of their offerings if the user has consented. Regular users can only see their own offering-user records.'
HEAD /api/marketplace-offering-users/
- Summary changed from '' to 'List offering users'
POST /api/marketplace-offering-users/
- Summary changed from '' to 'Create an offering user'
- Description changed from '' to 'Associates a user with a specific offering, creating an offering-specific user account. This is typically done by a service provider.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateAnOfferingUserLink
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateAnOfferingUserLink
GET /api/marketplace-offering-users/checklist-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: always_requires_review
- New property: always_show_guidance
- New property: dependency_logic_operator
- New property: guidance_answer_value
- New property: guidance_operator
- New property: max_file_size_mb
- New property: max_files_count
- New property: max_value
- New property: min_value
- New property: operator
- New property: order
- New property: question_type
- New property: review_answer_value
- Modified property: questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: always_requires_review
- New property: always_show_guidance
- New property: dependency_logic_operator
- New property: guidance_answer_value
- New property: guidance_operator
- New property: max_file_size_mb
- New property: max_files_count
- New property: max_value
- New property: min_value
- New property: operator
- New property: order
- New property: question_type
- New property: review_answer_value
DELETE /api/marketplace-offering-users/{uuid}/
- Summary changed from '' to 'Delete an offering user'
- Description changed from '' to 'Removes the association between a user and an offering. This action may trigger backend cleanup processes depending on the offering type.'
GET /api/marketplace-offering-users/{uuid}/
- Summary changed from '' to 'Retrieve an offering user'
- Description changed from '' to 'Returns the details of a specific offering-user link. Visibility follows the same rules as the list view.'
POST /api/marketplace-offering-users/{uuid}/begin_creating/
- Summary changed from '' to 'Begin creation process'
- Description changed from '' to 'Transitions the offering user state from 'Requested' or 'Error Creating' to 'Creating'. This is typically used by an agent to signal that the creation process has started.'
GET /api/marketplace-offering-users/{uuid}/checklist/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: allowed_file_types
- New required property: allowed_mime_types
- New required property: max_file_size_mb
- New required property: max_files_count
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
GET /api/marketplace-offering-users/{uuid}/checklist_review/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: allowed_file_types
- New required property: allowed_mime_types
- New required property: max_file_size_mb
- New required property: max_files_count
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
POST /api/marketplace-offering-users/{uuid}/request_deletion/
- Summary changed from '' to 'Request deletion of an offering user'
- Description changed from 'Action to request deletion of an offering user account.' to 'Initiates the deletion process for an offering user account by transitioning it to the 'Deletion Requested' state.'
POST /api/marketplace-offering-users/{uuid}/set_deleted/
- Summary changed from '' to 'Set state to Deleted'
- Description changed from 'Action to mark an offering user as successfully deleted.' to 'Transitions the offering user to the 'Deleted' state, marking the successful completion of the deletion process.'
POST /api/marketplace-offering-users/{uuid}/set_deleting/
- Summary changed from '' to 'Begin deletion process'
- Description changed from 'Action to begin the deletion process for an offering user.' to 'Transitions the offering user to the 'Deleting' state. This is typically used by an agent to signal that the deletion process has started.'
POST /api/marketplace-offering-users/{uuid}/set_error_creating/
- Summary changed from '' to 'Set state to Error Creating'
- Description changed from '' to 'Manually moves the offering user into the 'Error Creating' state. This is typically used by an agent to report a failure during the creation process.'
POST /api/marketplace-offering-users/{uuid}/set_error_deleting/
- Summary changed from '' to 'Set state to Error Deleting'
- Description changed from '' to 'Manually moves the offering user into the 'Error Deleting' state. This is typically used by an agent to report a failure during the deletion process.'
POST /api/marketplace-offering-users/{uuid}/set_ok/
- Summary changed from '' to 'Set state to OK'
- Description changed from '' to 'Manually sets the offering user state to 'OK'. This can be used to recover from an error state or to complete a manual creation process.'
POST /api/marketplace-offering-users/{uuid}/set_pending_account_linking/
- Summary changed from '' to 'Set state to Pending Account Linking'
- Description changed from '' to 'Transitions the state to 'Pending Account Linking' and allows a service provider to add a comment and a URL to guide the user.'
POST /api/marketplace-offering-users/{uuid}/set_pending_additional_validation/
- Summary changed from '' to 'Set state to Pending Additional Validation'
- Description changed from '' to 'Transitions the state to 'Pending Additional Validation' and allows a service provider to add a comment and a URL for the user to follow.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: RequestAdditionalValidation
POST /api/marketplace-offering-users/{uuid}/set_validation_complete/
- Summary changed from '' to 'Set state to Validation Complete'
- Description changed from '' to 'Transitions the state from a pending validation state to 'OK', indicating that the user has completed the required steps. This clears any service provider comments.'
PATCH /api/marketplace-offering-users/{uuid}/update_comments/
- Summary changed from '' to 'Update service provider comments'
- Description changed from 'Action for service providers to update comment and comment URL fields.' to 'Allows a service provider to update the
service_provider_commentandservice_provider_comment_urlfields for an offering user. This is often used to provide feedback or instructions during a pending state.'
POST /api/marketplace-offering-users/{uuid}/update_restricted/
- Summary changed from '' to 'Update restriction status'
- Description changed from '' to 'Allows a service provider to mark an offering user as restricted or unrestricted. A restricted user may have limited access to the resource.'
GET /api/marketplace-orders/
- Summary changed from '' to 'List orders'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of orders accessible to the current user. Orders are visible to service consumers (project/customer members with appropriate permissions) and service providers.'
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: slug
HEAD /api/marketplace-orders/
- Summary changed from '' to 'List orders'
POST /api/marketplace-orders/
- Summary changed from '' to 'Create an order'
- Description changed from '' to 'Creates a new order to provision a resource. The order will be placed in a pending state and may require approval depending on the offering and user permissions.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
- Modified property: attributes
- Property 'OneOf' changed
- Schemas added: #/components/schemas/MarketplaceOpenPortalCreateOrderAttributes, #/components/schemas/MarketplaceOpenPortalRemoteCreateOrderAttributes
- Modified schema: #/components/schemas/OpenStackTenantCreateOrderAttributes
- Properties changed
- New property: security_groups
- Examples changed
- New example: CreateAResourceFromAPublicOffering
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: attachment
- Deleted required property: category_icon
- Deleted required property: category_title
- Deleted required property: category_uuid
- Deleted required property: completed_at
- Deleted required property: consumer_reviewed_at
- Deleted required property: consumer_reviewed_by
- Deleted required property: consumer_reviewed_by_full_name
- Deleted required property: consumer_reviewed_by_username
- Deleted required property: cost
- Deleted required property: created
- Deleted required property: created_by
- Deleted required property: created_by_full_name
- Deleted required property: created_by_username
- Deleted required property: customer_name
- Deleted required property: customer_uuid
- Deleted required property: error_message
- Deleted required property: marketplace_resource_uuid
- Deleted required property: modified
- Deleted required property: offering
- Deleted required property: offering_billable
- Deleted required property: offering_description
- Deleted required property: offering_image
- Deleted required property: offering_name
- Deleted required property: offering_plugin_options
- Deleted required property: offering_shared
- Deleted required property: offering_thumbnail
- Deleted required property: offering_type
- Deleted required property: offering_uuid
- Deleted required property: output
- Deleted required property: plan_description
- Deleted required property: plan_name
- Deleted required property: plan_unit
- Deleted required property: plan_uuid
- Deleted required property: project
- Deleted required property: project_description
- Deleted required property: project_name
- Deleted required property: project_uuid
- Deleted required property: provider_name
- Deleted required property: provider_slug
- Deleted required property: provider_uuid
- Deleted required property: resource_name
- Deleted required property: resource_type
- Deleted required property: resource_uuid
- Deleted required property: state
- Deleted required property: url
- Deleted required property: uuid
- Properties changed
- New property: activation_price
- New property: backend_id
- New property: can_terminate
- New property: created_by_civil_number
- New property: customer_slug
- New property: fixed_price
- New property: issue
- New property: new_cost_estimate
- New property: new_plan_name
- New property: new_plan_uuid
- New property: old_cost_estimate
- New property: old_plan_name
- New property: old_plan_uuid
- New property: project_slug
- New property: provider_reviewed_at
- New property: provider_reviewed_by
- New property: provider_reviewed_by_full_name
- New property: provider_reviewed_by_username
- New property: slug
- New property: termination_comment
- Deleted property: created_by
- Deleted property: project
- Modified property: attachment
- ReadOnly changed from true to false
- Modified property: consumer_reviewed_by
- Format changed from 'uri' to ''
- Description changed from '' to 'Required. 128 characters or fewer. Lowercase letters, numbers and @/./+/-/_ characters'
- Examples changed
- New example: CreateAResourceFromAPublicOffering
DELETE /api/marketplace-orders/{uuid}/
- Summary changed from '' to 'Delete a pending order'
- Description changed from '' to 'Deletes an order that is still in a pending state (e.g.,
pending-consumerorpending-provider). Executing or completed orders cannot be deleted.'
GET /api/marketplace-orders/{uuid}/
- Summary changed from '' to 'Retrieve an order'
- Description changed from '' to 'Returns the details of a specific order.'
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
POST /api/marketplace-orders/{uuid}/approve_by_consumer/
- Summary changed from '' to 'Approve an order (consumer)'
- Description changed from '' to 'Approves a pending order from the consumer's side (e.g., project manager, customer owner). This transitions the order to the next state, which could be pending provider approval or executing.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/marketplace-orders/{uuid}/approve_by_provider/
- Summary changed from '' to 'Approve an order (provider)'
- Description changed from '' to 'Approves a pending order from the provider's side. This typically transitions the order to the executing state.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/marketplace-orders/{uuid}/cancel/
- Summary changed from '' to 'Cancel an order'
- Description changed from '' to 'Cancels an order. This is typically only possible for certain offering types (e.g., basic support) and in specific states (pending or executing).'
- Responses changed
- New response: 202
- Deleted response: 200
POST /api/marketplace-orders/{uuid}/delete_attachment/
- Summary changed from '' to 'Delete order attachment'
- Description changed from 'Delete the attachment from a pending order.' to 'Allows deleting an attachment from a pending order.'
GET /api/marketplace-orders/{uuid}/offering/
- Summary changed from '' to 'Get offering details'
- Description changed from '' to 'Returns details of the offering connected to the requested object.'
POST /api/marketplace-orders/{uuid}/reject_by_consumer/
- Summary changed from '' to 'Reject an order (consumer)'
- Description changed from '' to 'Rejects a pending order from the consumer's side. This moves the order to the 'rejected' state.'
POST /api/marketplace-orders/{uuid}/reject_by_provider/
- Summary changed from '' to 'Reject an order (provider)'
- Description changed from '' to 'Rejects a pending order from the provider's side. This moves the order to the 'rejected' state.'
POST /api/marketplace-orders/{uuid}/set_backend_id/
- Summary changed from '' to 'Set order backend ID'
- Description changed from '' to 'Allows a service provider or staff to set or update the backend ID associated with an order. This is useful for linking the order to an external system's identifier.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/marketplace-orders/{uuid}/set_state_done/
- Summary changed from '' to 'Set order state to done (agent)'
- Description changed from '' to 'Used by external agents (e.g., site agent) to manually transition the order state to 'done'. This is only applicable for specific offering types.'
POST /api/marketplace-orders/{uuid}/set_state_erred/
- Summary changed from '' to 'Set order state to erred (agent)'
- Description changed from '' to 'Used by external agents to report a failure during order processing. An error message and traceback can be provided.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ReportAnError
POST /api/marketplace-orders/{uuid}/set_state_executing/
- Summary changed from '' to 'Set order state to executing (agent)'
- Description changed from '' to 'Used by external agents (e.g., site agent) to manually transition the order state to 'executing'. This is only applicable for specific offering types.'
POST /api/marketplace-orders/{uuid}/unlink/
- Summary changed from '' to 'Unlink an order (staff only)'
- Description changed from '' to 'Forcefully deletes an order from the database without affecting the backend resource. This is a staff-only administrative action used to clean up stuck or invalid orders.'
POST /api/marketplace-orders/{uuid}/update_attachment/
- Summary changed from '' to 'Update order attachment'
- Description changed from 'Update the attachment for a pending order.' to 'Allows uploading or replacing a file attachment (e.g., a purchase order) for a pending order.'
GET /api/marketplace-plan-components/
- Summary changed from '' to 'List plan components'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of all plan components. A plan component defines the pricing and quotas for an offering component within a billing plan. The list is filtered based on the current user's access permissions and organization group memberships.'
HEAD /api/marketplace-plan-components/
- Summary changed from '' to 'List plan components'
GET /api/marketplace-plan-components/{id}/
- Summary changed from '' to 'Retrieve a plan component'
- Description changed from '' to 'Returns the details of a specific plan component, including its pricing, quotas, and associated offering and plan information.'
GET /api/marketplace-plans/
- Summary changed from '' to 'List provider plans'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of plans managed by the provider. The list is filtered based on the current user's access to the offering's customer.'
HEAD /api/marketplace-plans/
- Summary changed from '' to 'List provider plans'
POST /api/marketplace-plans/
- Summary changed from '' to 'Create a provider plan'
- Description changed from '' to 'Creates a new billing plan for an offering.'
GET /api/marketplace-plans/usage_stats/
- Summary changed from '' to 'Get plan usage statistics'
- Description changed from '' to 'Returns aggregated statistics on how many resources are currently using each plan. Can be filtered by offering or service provider.'
- Modified query param: customer_provider_uuid
- Description changed from '' to 'Filter by service provider's customer UUID.'
- Schema changed
- Format changed from '' to 'uuid'
- Modified query param: o
- Description changed from '' to 'Ordering field. Available options:
usage,limit,remaining, and their descending counterparts (e.g.,-usage).' - Modified query param: offering_uuid
- Description changed from '' to 'Filter by offering UUID.'
- Schema changed
- Format changed from '' to 'uuid'
HEAD /api/marketplace-plans/usage_stats/
- Summary changed from '' to 'Get plan usage statistics'
- Modified query param: customer_provider_uuid
- Description changed from '' to 'Filter by service provider's customer UUID.'
- Schema changed
- Format changed from '' to 'uuid'
- Modified query param: o
- Description changed from '' to 'Ordering field. Available options:
usage,limit,remaining, and their descending counterparts (e.g.,-usage).' - Modified query param: offering_uuid
- Description changed from '' to 'Filter by offering UUID.'
- Schema changed
- Format changed from '' to 'uuid'
DELETE /api/marketplace-plans/{uuid}/
- Summary changed from '' to 'Delete a provider plan'
- Description changed from '' to 'Deletes a plan. This is a hard delete and should be used with caution.'
GET /api/marketplace-plans/{uuid}/
- Summary changed from '' to 'Retrieve a provider plan'
- Description changed from '' to 'Returns details of a specific plan.'
PATCH /api/marketplace-plans/{uuid}/
- Summary changed from '' to 'Partially update a provider plan'
- Description changed from '' to 'Partially updates an existing plan. Note: A plan cannot be updated if it is already used by resources.'
PUT /api/marketplace-plans/{uuid}/
- Summary changed from '' to 'Update a provider plan'
- Description changed from '' to 'Updates an existing plan. Note: A plan cannot be updated if it is already used by resources.'
POST /api/marketplace-plans/{uuid}/archive/
- Summary changed from '' to 'Archive a plan'
- Description changed from '' to 'Marks a plan as archived. Archived plans cannot be used for provisioning new resources, but existing resources will continue to be billed according to this plan.'
POST /api/marketplace-plans/{uuid}/delete_organization_groups/
- Summary changed from '' to 'Remove all organization groups from a plan'
- Description changed from '' to 'Removes all organization group associations from this plan, making it accessible to all users (subject to offering-level restrictions).'
- Responses changed
- New response: 204
- Deleted response: 200
POST /api/marketplace-plans/{uuid}/update_discounts/
- Summary changed from '' to 'Update plan component discounts'
- Description changed from 'Update volume discount configuration for plan components.
This endpoint allows updating discount thresholds and rates for multiple plan components in a single request. Discounts are applied automatically when limit quantities meet or exceed the threshold.
The discount configuration affects future billing:
- Creates separate invoice items showing the discount
- Can be enabled or disabled per component' to '
Update volume discount configuration for plan components.
1 2 3 4 5 6 7 8
This endpoint allows updating discount thresholds and rates for multiple plan components in a single request. Discounts are applied automatically when limit quantities meet or exceed the threshold. The discount configuration affects future billing: - Creates separate invoice items showing the discount. - Can be enabled or disabled per component. '
POST /api/marketplace-plans/{uuid}/update_organization_groups/
- Summary changed from '' to 'Update organization groups for a plan'
- Description changed from '' to 'Sets the list of organization groups that are allowed to access this plan. If the list is empty, the plan is accessible to all.'
POST /api/marketplace-plans/{uuid}/update_prices/
- Summary changed from '' to 'Update plan component prices'
- Description changed from '' to 'Updates the prices for one or more components of a specific plan. If the plan is already in use by resources, this action updates the
future_price, which will be applied from the next billing period. Otherwise, the currentpriceis updated directly.'
POST /api/marketplace-plans/{uuid}/update_quotas/
- Summary changed from '' to 'Update plan component quotas'
- Description changed from '' to 'Updates the quotas (fixed amounts) for one or more components of a specific plan. This is only applicable for components with a 'fixed-price' billing type.'
GET /api/marketplace-plugins/
- Summary changed from '' to 'List available marketplace plugins and their components'
- Description changed from '' to '
Returns a list of all registered marketplace plugins (offering types) and the components
associated with each. This endpoint is public and does not require authentication.
1 2 3 4 5
Each plugin entry includes: - `offering_type`: A unique identifier for the plugin. - `components`: A list of components provided by the plugin, each with its `type`, `name`, `measured_unit`, and `billing_type`. - `available_limits`: A list of component types that support user-defined limits for this plugin. '- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExampleResponseForMarketplacePlugins
GET /api/marketplace-project-estimated-cost-policies/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-project-service-accounts/
- Summary changed from '' to 'List service accounts'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
HEAD /api/marketplace-project-service-accounts/
- Summary changed from '' to 'List service accounts'
POST /api/marketplace-project-service-accounts/
- Summary changed from '' to 'Create a project service account'
- Description changed from '' to 'Creates a new service account scoped to a specific project. This generates an API key that can be used for automated access to resources within that project.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateAProjectServiceAccount
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateAProjectServiceAccount
DELETE /api/marketplace-project-service-accounts/{uuid}/
- Summary changed from '' to 'Close a project service account'
- Description changed from '' to 'Deactivates a project service account and revokes its API key.'
GET /api/marketplace-project-service-accounts/{uuid}/
- Summary changed from '' to 'Retrieve a service account'
PATCH /api/marketplace-project-service-accounts/{uuid}/
- Summary changed from '' to 'Partially update a service account'
PUT /api/marketplace-project-service-accounts/{uuid}/
- Summary changed from '' to 'Update a service account'
POST /api/marketplace-project-service-accounts/{uuid}/rotate_api_key/
- Summary changed from '' to 'Rotate API key for a project service account'
- Description changed from '' to 'Generates a new API key for the service account, immediately invalidating the old one. The new key is returned in the response.'
GET /api/marketplace-project-update-requests/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-provider-offerings/
- Summary changed from '' to 'List provider offerings'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of offerings for the provider.'
- New query param: can_create_offering_user
HEAD /api/marketplace-provider-offerings/
- Summary changed from '' to 'List provider offerings'
- New query param: can_create_offering_user
POST /api/marketplace-provider-offerings/
- Summary changed from '' to 'Create a provider offering'
- Description changed from '' to 'Creates a new provider offering.'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: category
- Deleted required property: category_title
- Deleted required property: category_uuid
- Deleted required property: citation_count
- Deleted required property: created
- Deleted required property: customer_name
- Deleted required property: customer_uuid
- Deleted required property: endpoints
- Deleted required property: files
- Deleted required property: has_compliance_requirements
- Deleted required property: name
- Deleted required property: order_count
- Deleted required property: organization_groups
- Deleted required property: parent_description
- Deleted required property: parent_name
- Deleted required property: parent_uuid
- Deleted required property: partitions
- Deleted required property: paused_reason
- Deleted required property: plugin_options
- Deleted required property: project
- Deleted required property: project_name
- Deleted required property: project_uuid
- Deleted required property: quotas
- Deleted required property: roles
- Deleted required property: scope
- Deleted required property: scope_error_message
- Deleted required property: scope_name
- Deleted required property: scope_state
- Deleted required property: scope_uuid
- Deleted required property: screenshots
- Deleted required property: software_catalogs
- Deleted required property: state
- Deleted required property: total_cost
- Deleted required property: total_cost_estimated
- Deleted required property: total_customers
- Deleted required property: type
- Deleted required property: url
- Deleted required property: uuid
- Properties changed
- New property: google_calendar_is_public
- New property: google_calendar_link
- New property: integration_status
- Modified property: attributes
- Type changed from '' to 'object'
- ReadOnly changed from false to true
- AdditionalProperties changed
- Schema added
- Modified property: components
- ReadOnly changed from false to true
- Modified property: description
- MaxLength changed from null to 4096
- Modified property: options
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingOptions
- Type changed from 'object' to ''
- ReadOnly changed from false to true
- Properties changed
- Deleted property: options
- Deleted property: order
- Modified property: plans
- ReadOnly changed from false to true
- Modified property: resource_options
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingOptions
- Type changed from 'object' to ''
- ReadOnly changed from false to true
- Properties changed
- Deleted property: options
- Deleted property: order
GET /api/marketplace-provider-offerings/groups/
- Summary changed from '' to 'List offerings grouped by provider'
- Description changed from '' to 'Returns a paginated list of active, shared offerings grouped by their service provider.'
- New query param: can_create_offering_user
HEAD /api/marketplace-provider-offerings/groups/
- Summary changed from '' to 'List offerings grouped by provider'
- New query param: can_create_offering_user
DELETE /api/marketplace-provider-offerings/{uuid}/
- Summary changed from '' to 'Delete a provider offering'
- Description changed from '' to 'Deletes a provider offering. Only possible for offerings in a Draft state with no associated resources.'
GET /api/marketplace-provider-offerings/{uuid}/
- Summary changed from '' to 'Retrieve a provider offering'
- Description changed from '' to 'Returns details of a specific provider offering.'
POST /api/marketplace-provider-offerings/{uuid}/activate/
- Summary changed from '' to 'Activate an offering'
- Description changed from '' to 'Activates a draft or paused offering, making it available for ordering.'
POST /api/marketplace-provider-offerings/{uuid}/add_endpoint/
- Summary changed from '' to 'Add an access endpoint to an offering'
- Description changed from 'Add endpoint to offering.' to 'Adds a new access endpoint (URL) to an offering.'
POST /api/marketplace-provider-offerings/{uuid}/add_partition/
- Summary changed from '' to 'Add a partition to an offering'
- Description changed from 'Add SLURM partition configuration to offering.' to 'Adds a new partition configuration to an offering.'
POST /api/marketplace-provider-offerings/{uuid}/add_software_catalog/
- Summary changed from '' to 'Add a software catalog to an offering'
- Description changed from 'Add software catalog to offering.' to 'Associates a software catalog with an offering and configures enabled CPU architectures.'
POST /api/marketplace-provider-offerings/{uuid}/add_user/
- Summary changed from '' to 'Grant a role to a user'
- Description changed from '' to 'Assigns a specific role to a user within the current scope. An optional expiration time for the role can be set.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: GrantProjectAdminRoleUntilEndOfYear
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleGrantResponse
- Modified response: 400
- Description changed from '' to 'Validation error, for example when trying to add a user to a terminated project.'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-offerings/{uuid}/archive/
- Summary changed from '' to 'Archive an offering'
- Description changed from '' to 'Archives an offering, making it permanently unavailable for new orders.'
GET /api/marketplace-provider-offerings/{uuid}/component_stats/
- Summary changed from '' to 'Get statistics for offering components'
- Description changed from 'Get statistics for offering components.' to 'Returns monthly usage statistics for the components of an offering within a specified date range.'
- New query param: can_create_offering_user
GET /api/marketplace-provider-offerings/{uuid}/costs/
- Summary changed from '' to 'Get costs for an offering'
- Description changed from 'Get costs for offering.' to 'Returns monthly cost data for an offering within a specified date range.'
- New query param: can_create_offering_user
POST /api/marketplace-provider-offerings/{uuid}/create_offering_component/
- Summary changed from '' to 'Create an offering component'
- Description changed from '' to 'Adds a new custom component to an offering.'
GET /api/marketplace-provider-offerings/{uuid}/customers/
- Summary changed from '' to 'Get customers for an offering'
- Description changed from 'Get customers for offering.' to 'Returns a paginated list of customers who have resources for this offering.'
- New query param: can_create_offering_user
POST /api/marketplace-provider-offerings/{uuid}/delete_endpoint/
- Summary changed from '' to 'Delete an access endpoint from an offering'
- Description changed from 'Delete endpoint from offering.' to 'Deletes an existing access endpoint from an offering by its UUID.'
POST /api/marketplace-provider-offerings/{uuid}/delete_image/
- Summary changed from '' to 'Delete offering image'
- Description changed from 'Delete offering image.' to 'Deletes the main image of an offering.'
- Responses changed
- New response: 204
- Deleted response: 200
POST /api/marketplace-provider-offerings/{uuid}/delete_organization_groups/
- Summary changed from '' to 'Delete organization groups for offering'
- Description changed from 'Delete organization groups for offering.' to 'Removes all organization group associations from this offering, making it accessible to all.'
- Responses changed
- New response: 204
- Deleted response: 200
POST /api/marketplace-provider-offerings/{uuid}/delete_thumbnail/
- Summary changed from '' to 'Delete offering thumbnail'
- Description changed from 'Delete offering thumbnail.' to 'Deletes the thumbnail image of an offering.'
POST /api/marketplace-provider-offerings/{uuid}/delete_user/
- Summary changed from '' to 'Revoke a role from a user'
- Description changed from '' to 'Removes a specific role from a user within the current scope. This effectively revokes their permissions associated with that role.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: RevokeProjectAdminRoleFromUser
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to 'Role revoked successfully.'
POST /api/marketplace-provider-offerings/{uuid}/draft/
- Summary changed from '' to 'Move an offering to draft'
- Description changed from '' to 'Moves an active or paused offering back to the draft state for editing.'
GET /api/marketplace-provider-offerings/{uuid}/glauth_users_config/
- Summary changed from '' to 'Get GLauth user configuration'
- Description changed from 'This endpoint provides a config file for GLauth
Example: https://github.com/glauth/glauth/blob/master/v2/sample-simple.cfg
It is assumed that the config is used by an external agent,
which synchronizes data from Waldur to GLauth' to '
This endpoint provides a configuration file for GLauth.
It is intended to be used by an external agent to synchronize user data from Waldur to GLauth.
1 2 3 4 5 6 7 8 9 10 11 12 13
Example output format: ``` [[users]] name = "johndoe" givenname="John" sn="Doe" mail = "john.doe@example.com" ... [[groups]] name = "group1" gidnumber = 1001 ``` '
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Summary changed from '' to 'Import a resource'
- Description changed from '' to 'Imports a backend resource into the marketplace.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
GET /api/marketplace-provider-offerings/{uuid}/importable_resources/
- Summary changed from '' to 'List importable resources'
- Description changed from 'List importable resources for offering.' to 'Returns a paginated list of resources that can be imported for this offering.'
GET /api/marketplace-provider-offerings/{uuid}/list_course_accounts/
- Summary changed from '' to 'List course accounts for an offering'
- Description changed from '' to 'Returns a paginated list of course accounts for projects that have resources of this offering.'
- OperationID changed from 'marketplace_provider_offerings_list_course_accounts_retrieve' to 'marketplace_provider_offerings_list_course_accounts_list'
- New query param: accessible_via_calls
- New query param: allowed_customer_uuid
- New query param: attributes
- New query param: billable
- New query param: can_create_offering_user
- New query param: category_group_uuid
- New query param: category_uuid
- New query param: created
- New query param: customer
- New query param: customer_uuid
- New query param: description
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: keyword
- New query param: modified
- New query param: name
- New query param: name_exact
- New query param: o
- New query param: organization_group_uuid
- New query param: page
- New query param: page_size
- New query param: parent_uuid
- New query param: project_uuid
- New query param: query
- New query param: resource_customer_uuid
- New query param: resource_project_uuid
- New query param: scope_uuid
- New query param: service_manager_uuid
- New query param: shared
- New query param: state
- New query param: type
- New query param: user_has_consent
- New query param: user_has_offering_user
- New query param: uuid_list
- Deleted query param: field
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Type changed from 'object' to 'array'
- Items changed
- Schema added
- Properties changed
- Deleted property: access_url
- Deleted property: attributes
- Deleted property: backend_id
- Deleted property: backend_metadata
- Deleted property: billable
- Deleted property: category
- Deleted property: category_title
- Deleted property: category_uuid
- Deleted property: citation_count
- Deleted property: compliance_checklist
- Deleted property: components
- Deleted property: country
- Deleted property: created
- Deleted property: customer
- Deleted property: customer_name
- Deleted property: customer_uuid
- Deleted property: datacite_doi
- Deleted property: description
- Deleted property: endpoints
- Deleted property: files
- Deleted property: full_description
- Deleted property: getting_started
- Deleted property: google_calendar_is_public
- Deleted property: google_calendar_link
- Deleted property: has_compliance_requirements
- Deleted property: image
- Deleted property: integration_guide
- Deleted property: integration_status
- Deleted property: latitude
- Deleted property: longitude
- Deleted property: name
- Deleted property: options
- Deleted property: order_count
- Deleted property: organization_groups
- Deleted property: parent_description
- Deleted property: parent_name
- Deleted property: parent_uuid
- Deleted property: partitions
- Deleted property: paused_reason
- Deleted property: plans
- Deleted property: plugin_options
- Deleted property: privacy_policy_link
- Deleted property: project
- Deleted property: project_name
- Deleted property: project_uuid
- Deleted property: quotas
- Deleted property: resource_options
- Deleted property: roles
- Deleted property: scope
- Deleted property: scope_error_message
- Deleted property: scope_name
- Deleted property: scope_state
- Deleted property: scope_uuid
- Deleted property: screenshots
- Deleted property: secret_options
- Deleted property: service_attributes
- Deleted property: shared
- Deleted property: slug
- Deleted property: software_catalogs
- Deleted property: state
- Deleted property: thumbnail
- Deleted property: total_cost
- Deleted property: total_cost_estimated
- Deleted property: total_customers
- Deleted property: type
- Deleted property: url
- Deleted property: uuid
- Deleted property: vendor_details
- Headers changed
- New header: x-result-count
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Summary changed from '' to 'List customer projects for an offering'
- Description changed from '' to 'Returns a paginated list of projects that have consumed resources of this offering.'
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [grace_period_days]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: grace_period_days
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Summary changed from '' to 'List customer service accounts for an offering'
- Description changed from '' to 'Returns a paginated list of customer-level service accounts for customers who have resources of this offering.'
- OperationID changed from 'marketplace_provider_offerings_list_customer_service_accounts_retrieve' to 'marketplace_provider_offerings_list_customer_service_accounts_list'
- New query param: accessible_via_calls
- New query param: allowed_customer_uuid
- New query param: attributes
- New query param: billable
- New query param: can_create_offering_user
- New query param: category_group_uuid
- New query param: category_uuid
- New query param: created
- New query param: customer
- New query param: customer_uuid
- New query param: description
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: keyword
- New query param: modified
- New query param: name
- New query param: name_exact
- New query param: o
- New query param: organization_group_uuid
- New query param: page
- New query param: page_size
- New query param: parent_uuid
- New query param: project_uuid
- New query param: query
- New query param: resource_customer_uuid
- New query param: resource_project_uuid
- New query param: scope_uuid
- New query param: service_manager_uuid
- New query param: shared
- New query param: state
- New query param: type
- New query param: user_has_consent
- New query param: user_has_offering_user
- New query param: uuid_list
- Deleted query param: field
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Type changed from 'object' to 'array'
- Items changed
- Schema added
- Properties changed
- Deleted property: access_url
- Deleted property: attributes
- Deleted property: backend_id
- Deleted property: backend_metadata
- Deleted property: billable
- Deleted property: category
- Deleted property: category_title
- Deleted property: category_uuid
- Deleted property: citation_count
- Deleted property: compliance_checklist
- Deleted property: components
- Deleted property: country
- Deleted property: created
- Deleted property: customer
- Deleted property: customer_name
- Deleted property: customer_uuid
- Deleted property: datacite_doi
- Deleted property: description
- Deleted property: endpoints
- Deleted property: files
- Deleted property: full_description
- Deleted property: getting_started
- Deleted property: google_calendar_is_public
- Deleted property: google_calendar_link
- Deleted property: has_compliance_requirements
- Deleted property: image
- Deleted property: integration_guide
- Deleted property: integration_status
- Deleted property: latitude
- Deleted property: longitude
- Deleted property: name
- Deleted property: options
- Deleted property: order_count
- Deleted property: organization_groups
- Deleted property: parent_description
- Deleted property: parent_name
- Deleted property: parent_uuid
- Deleted property: partitions
- Deleted property: paused_reason
- Deleted property: plans
- Deleted property: plugin_options
- Deleted property: privacy_policy_link
- Deleted property: project
- Deleted property: project_name
- Deleted property: project_uuid
- Deleted property: quotas
- Deleted property: resource_options
- Deleted property: roles
- Deleted property: scope
- Deleted property: scope_error_message
- Deleted property: scope_name
- Deleted property: scope_state
- Deleted property: scope_uuid
- Deleted property: screenshots
- Deleted property: secret_options
- Deleted property: service_attributes
- Deleted property: shared
- Deleted property: slug
- Deleted property: software_catalogs
- Deleted property: state
- Deleted property: thumbnail
- Deleted property: total_cost
- Deleted property: total_cost_estimated
- Deleted property: total_customers
- Deleted property: type
- Deleted property: url
- Deleted property: uuid
- Deleted property: vendor_details
- Headers changed
- New header: x-result-count
GET /api/marketplace-provider-offerings/{uuid}/list_customer_users/
- Summary changed from '' to 'List customer users for an offering'
- Description changed from '' to 'Returns a paginated list of users who have access to resources of this offering.'
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Summary changed from '' to 'List project service accounts for an offering'
- Description changed from '' to 'Returns a paginated list of project-level service accounts for projects that have resources of this offering.'
- OperationID changed from 'marketplace_provider_offerings_list_project_service_accounts_retrieve' to 'marketplace_provider_offerings_list_project_service_accounts_list'
- New query param: accessible_via_calls
- New query param: allowed_customer_uuid
- New query param: attributes
- New query param: billable
- New query param: can_create_offering_user
- New query param: category_group_uuid
- New query param: category_uuid
- New query param: created
- New query param: customer
- New query param: customer_uuid
- New query param: description
- New query param: has_active_terms_of_service
- New query param: has_terms_of_service
- New query param: keyword
- New query param: modified
- New query param: name
- New query param: name_exact
- New query param: o
- New query param: organization_group_uuid
- New query param: page
- New query param: page_size
- New query param: parent_uuid
- New query param: project_uuid
- New query param: query
- New query param: resource_customer_uuid
- New query param: resource_project_uuid
- New query param: scope_uuid
- New query param: service_manager_uuid
- New query param: shared
- New query param: state
- New query param: type
- New query param: user_has_consent
- New query param: user_has_offering_user
- New query param: uuid_list
- Deleted query param: field
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Type changed from 'object' to 'array'
- Items changed
- Schema added
- Properties changed
- Deleted property: access_url
- Deleted property: attributes
- Deleted property: backend_id
- Deleted property: backend_metadata
- Deleted property: billable
- Deleted property: category
- Deleted property: category_title
- Deleted property: category_uuid
- Deleted property: citation_count
- Deleted property: compliance_checklist
- Deleted property: components
- Deleted property: country
- Deleted property: created
- Deleted property: customer
- Deleted property: customer_name
- Deleted property: customer_uuid
- Deleted property: datacite_doi
- Deleted property: description
- Deleted property: endpoints
- Deleted property: files
- Deleted property: full_description
- Deleted property: getting_started
- Deleted property: google_calendar_is_public
- Deleted property: google_calendar_link
- Deleted property: has_compliance_requirements
- Deleted property: image
- Deleted property: integration_guide
- Deleted property: integration_status
- Deleted property: latitude
- Deleted property: longitude
- Deleted property: name
- Deleted property: options
- Deleted property: order_count
- Deleted property: organization_groups
- Deleted property: parent_description
- Deleted property: parent_name
- Deleted property: parent_uuid
- Deleted property: partitions
- Deleted property: paused_reason
- Deleted property: plans
- Deleted property: plugin_options
- Deleted property: privacy_policy_link
- Deleted property: project
- Deleted property: project_name
- Deleted property: project_uuid
- Deleted property: quotas
- Deleted property: resource_options
- Deleted property: roles
- Deleted property: scope
- Deleted property: scope_error_message
- Deleted property: scope_name
- Deleted property: scope_state
- Deleted property: scope_uuid
- Deleted property: screenshots
- Deleted property: secret_options
- Deleted property: service_attributes
- Deleted property: shared
- Deleted property: slug
- Deleted property: software_catalogs
- Deleted property: state
- Deleted property: thumbnail
- Deleted property: total_cost
- Deleted property: total_cost_estimated
- Deleted property: total_customers
- Deleted property: type
- Deleted property: url
- Deleted property: uuid
- Deleted property: vendor_details
- Headers changed
- New header: x-result-count
GET /api/marketplace-provider-offerings/{uuid}/list_users/
- Summary changed from '' to 'List users and their roles in a scope'
- Description changed from '' to 'Retrieves a list of users who have a role within a specific scope (e.g., a project or an organization). The list can be filtered by user details or role.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExampleUserRoleListResponse
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Summary changed from '' to 'Move an offering'
- Description changed from '' to 'Moves an offering to a different service provider. Requires staff permissions.'
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Summary changed from '' to 'List orders for an offering'
- Description changed from '' to 'Returns a paginated list of orders associated with a specific offering.'
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: slug
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Summary changed from '' to 'Retrieve a specific order for an offering'
- Description changed from '' to 'Returns details of a specific order associated with an offering.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: slug
POST /api/marketplace-provider-offerings/{uuid}/pause/
- Summary changed from '' to 'Pause an offering'
- Description changed from '' to 'Pauses an active offering, preventing new orders from being created.'
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Summary changed from '' to 'Refresh offering user usernames'
- Description changed from 'Refresh offering user usernames.' to 'Triggers a refresh of usernames for all non-restricted users associated with this offering, based on the current username generation policy.'
POST /api/marketplace-provider-offerings/{uuid}/remove_offering_component/
- Summary changed from '' to 'Remove an offering component'
- Description changed from '' to 'Removes a custom component from an offering. Built-in components cannot be removed.'
POST /api/marketplace-provider-offerings/{uuid}/remove_partition/
- Summary changed from '' to 'Remove a partition from an offering'
- Description changed from 'Remove partition from offering.' to 'Removes a partition configuration from an offering.'
- Responses changed
- New response: 204
- Deleted response: 200
POST /api/marketplace-provider-offerings/{uuid}/remove_software_catalog/
- Summary changed from '' to 'Remove a software catalog from an offering'
- Description changed from 'Remove software catalog from offering.' to 'Disassociates a software catalog from an offering.'
- Responses changed
- New response: 204
- Deleted response: 200
POST /api/marketplace-provider-offerings/{uuid}/set_backend_metadata/
- Summary changed from '' to 'Set offering backend metadata'
- Description changed from '' to 'Updates the backend-specific metadata for an offering.'
GET /api/marketplace-provider-offerings/{uuid}/stats/
- Summary changed from '' to 'Get offering statistics'
- Description changed from '' to 'Returns basic statistics for an offering, such as the number of active resources and customers.'
- Deleted query param: field
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: customers_count
- New property: resources_count
- Deleted property: access_url
- Deleted property: attributes
- Deleted property: backend_id
- Deleted property: backend_metadata
- Deleted property: billable
- Deleted property: category
- Deleted property: category_title
- Deleted property: category_uuid
- Deleted property: citation_count
- Deleted property: compliance_checklist
- Deleted property: components
- Deleted property: country
- Deleted property: created
- Deleted property: customer
- Deleted property: customer_name
- Deleted property: customer_uuid
- Deleted property: datacite_doi
- Deleted property: description
- Deleted property: endpoints
- Deleted property: files
- Deleted property: full_description
- Deleted property: getting_started
- Deleted property: google_calendar_is_public
- Deleted property: google_calendar_link
- Deleted property: has_compliance_requirements
- Deleted property: image
- Deleted property: integration_guide
- Deleted property: integration_status
- Deleted property: latitude
- Deleted property: longitude
- Deleted property: name
- Deleted property: options
- Deleted property: order_count
- Deleted property: organization_groups
- Deleted property: parent_description
- Deleted property: parent_name
- Deleted property: parent_uuid
- Deleted property: partitions
- Deleted property: paused_reason
- Deleted property: plans
- Deleted property: plugin_options
- Deleted property: privacy_policy_link
- Deleted property: project
- Deleted property: project_name
- Deleted property: project_uuid
- Deleted property: quotas
- Deleted property: resource_options
- Deleted property: roles
- Deleted property: scope
- Deleted property: scope_error_message
- Deleted property: scope_name
- Deleted property: scope_state
- Deleted property: scope_uuid
- Deleted property: screenshots
- Deleted property: secret_options
- Deleted property: service_attributes
- Deleted property: shared
- Deleted property: slug
- Deleted property: software_catalogs
- Deleted property: state
- Deleted property: thumbnail
- Deleted property: total_cost
- Deleted property: total_cost_estimated
- Deleted property: total_customers
- Deleted property: type
- Deleted property: url
- Deleted property: uuid
- Deleted property: vendor_details
POST /api/marketplace-provider-offerings/{uuid}/sync/
- Summary changed from '' to 'Synchronize offering service settings'
- Description changed from '' to 'Schedules a synchronization task to pull the latest data for the offering's service settings from the backend.'
- Responses changed
- New response: 202
- Deleted response: 200
GET /api/marketplace-provider-offerings/{uuid}/tos_stats/
- Summary changed from '' to 'Get Terms of Service consent statistics'
- Description changed from 'Return comprehensive ToS consent statistics for this offering.' to 'Returns comprehensive Terms of Service consent statistics for this offering, including user counts, consent rates, and historical data.'
POST /api/marketplace-provider-offerings/{uuid}/unpause/
- Summary changed from '' to 'Unpause an offering'
- Description changed from '' to 'Resumes a paused offering, making it available for ordering again.'
POST /api/marketplace-provider-offerings/{uuid}/update_attributes/
- Summary changed from '' to 'Update offering attributes'
- Description changed from 'Update offering attributes.' to 'Updates the attributes of an offering.'
POST /api/marketplace-provider-offerings/{uuid}/update_compliance_checklist/
- Summary changed from '' to 'Update offering compliance checklist'
- Description changed from '' to 'Associates a compliance checklist with an offering.'
POST /api/marketplace-provider-offerings/{uuid}/update_description/
- Summary changed from '' to 'Update offering category'
- Description changed from '' to 'Updates the category of an offering.'
POST /api/marketplace-provider-offerings/{uuid}/update_image/
- Summary changed from '' to 'Update offering image'
- Description changed from 'Update offering image.' to 'Uploads or replaces the main image for an offering.'
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Summary changed from '' to 'Update offering integration settings'
- Description changed from '' to 'Updates the backend integration settings for an offering, including plugin options, secret options, and service attributes.'
POST /api/marketplace-provider-offerings/{uuid}/update_location/
- Summary changed from '' to 'Update offering location'
- Description changed from '' to 'Updates the geographical location (latitude and longitude) of an offering.'
POST /api/marketplace-provider-offerings/{uuid}/update_offering_component/
- Summary changed from '' to 'Update an offering component'
- Description changed from '' to 'Updates the properties of a specific component within an offering.'
POST /api/marketplace-provider-offerings/{uuid}/update_options/
- Summary changed from '' to 'Update offering options'
- Description changed from '' to 'Updates the order form options for an offering.'
POST /api/marketplace-provider-offerings/{uuid}/update_organization_groups/
- Summary changed from '' to 'Update organization groups for offering'
- Description changed from 'Update organization groups for offering.' to 'Sets the list of organization groups that can access this offering.'
POST /api/marketplace-provider-offerings/{uuid}/update_overview/
- Summary changed from '' to 'Update offering overview'
- Description changed from '' to 'Updates the overview fields of an offering, such as name, description, and getting started guide.'
PATCH /api/marketplace-provider-offerings/{uuid}/update_partition/
- Summary changed from '' to 'Update a partition of an offering'
- Description changed from 'Update partition configuration for offering.' to 'Updates the configuration of an existing partition associated with an offering.'
POST /api/marketplace-provider-offerings/{uuid}/update_resource_options/
- Summary changed from '' to 'Update offering resource options'
- Description changed from '' to 'Updates the resource report form options for an offering.'
PATCH /api/marketplace-provider-offerings/{uuid}/update_software_catalog/
- Summary changed from '' to 'Update software catalog configuration'
- Description changed from 'Update software catalog configuration for offering.' to 'Updates the configuration of a software catalog associated with an offering, such as enabled architectures or partition.'
POST /api/marketplace-provider-offerings/{uuid}/update_thumbnail/
- Summary changed from '' to 'Update offering thumbnail'
- Description changed from 'Update offering thumbnail.' to 'Uploads or replaces the thumbnail image for an offering.'
POST /api/marketplace-provider-offerings/{uuid}/update_user/
- Summary changed from '' to 'Update a user's role expiration'
- Description changed from '' to 'Updates the expiration time for a user's existing role in the current scope. This is useful for extending or shortening the duration of a permission. To make a role permanent, set expiration_time to null.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExtendRoleUntilMid-2025
- New example: MakeARolePermanent
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleUpdateResponse
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Summary changed from '' to 'Check user access to offering resources'
- Description changed from 'Check if user has access to offering.' to 'Checks if a specified user has access to any non-terminated resource of this offering.'
GET /api/marketplace-provider-resources/
- Summary changed from '' to 'List provider resources'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of resources for offerings managed by the current user as a service provider.'
- Modified query param: o
- Schema changed
- Items changed
- New enum values: [-end_date end_date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
HEAD /api/marketplace-provider-resources/
- Summary changed from '' to 'List provider resources'
- Modified query param: o
- Schema changed
- Items changed
- New enum values: [-end_date end_date]
GET /api/marketplace-provider-resources/{uuid}/
- Summary changed from '' to 'Retrieve a provider resource'
- Description changed from '' to 'Returns details of a specific resource from a provider's perspective.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
PATCH /api/marketplace-provider-resources/{uuid}/
- Summary changed from '' to 'Partially update a provider resource'
- Description changed from '' to 'Partially updates the name or description of a resource. Requires provider permissions.'
PUT /api/marketplace-provider-resources/{uuid}/
- Summary changed from '' to 'Update a provider resource'
- Description changed from '' to 'Updates the name or description of a resource. Requires provider permissions.'
GET /api/marketplace-provider-resources/{uuid}/details/
- Summary changed from '' to 'Get resource details'
- Description changed from '' to 'Returns the detailed representation of the backend resource associated with the marketplace resource. The format of the response depends on the resource type.'
- Deleted query param: field
- Responses changed
- New response: 204
- New response: 404
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: attributes
- Deleted property: available_actions
- Deleted property: backend_id
- Deleted property: backend_metadata
- Deleted property: can_terminate
- Deleted property: category_icon
- Deleted property: category_title
- Deleted property: category_uuid
- Deleted property: created
- Deleted property: creation_order
- Deleted property: current_usages
- Deleted property: customer_name
- Deleted property: customer_slug
- Deleted property: customer_uuid
- Deleted property: description
- Deleted property: downscaled
- Deleted property: effective_id
- Deleted property: end_date
- Deleted property: end_date_requested_by
- Deleted property: endpoints
- Deleted property: error_message
- Deleted property: error_traceback
- Deleted property: is_limit_based
- Deleted property: is_usage_based
- Deleted property: last_sync
- Deleted property: limit_usage
- Deleted property: limits
- Deleted property: modified
- Deleted property: name
- Deleted property: offering
- Deleted property: offering_billable
- Deleted property: offering_description
- Deleted property: offering_image
- Deleted property: offering_name
- Deleted property: offering_plugin_options
- Deleted property: offering_shared
- Deleted property: offering_slug
- Deleted property: offering_thumbnail
- Deleted property: offering_type
- Deleted property: offering_uuid
- Deleted property: options
- Deleted property: order_in_progress
- Deleted property: parent_name
- Deleted property: parent_offering_name
- Deleted property: parent_offering_slug
- Deleted property: parent_offering_uuid
- Deleted property: parent_uuid
- Deleted property: paused
- Deleted property: plan
- Deleted property: plan_description
- Deleted property: plan_name
- Deleted property: plan_unit
- Deleted property: plan_uuid
- Deleted property: project
- Deleted property: project_description
- Deleted property: project_end_date
- Deleted property: project_end_date_requested_by
- Deleted property: project_name
- Deleted property: project_slug
- Deleted property: project_uuid
- Deleted property: provider_name
- Deleted property: provider_slug
- Deleted property: provider_uuid
- Deleted property: renewal_date
- Deleted property: report
- Deleted property: resource_type
- Deleted property: resource_uuid
- Deleted property: restrict_member_access
- Deleted property: scope
- Deleted property: service_settings_uuid
- Deleted property: slug
- Deleted property: state
- Deleted property: url
- Deleted property: user_requires_reconsent
- Deleted property: username
- Deleted property: uuid
- AdditionalProperties changed
- Schema added
GET /api/marketplace-provider-resources/{uuid}/glauth_users_config/
- Summary changed from '' to 'Get GLauth user configuration for a resource'
- Description changed from ' This endpoint provides a config file for GLauth. Example: https://github.com/glauth/glauth/blob/master/v2/sample-simple.cfg It is assumed that the config is used by an external agent, which synchronizes data from Waldur to GLauth. ' to ' This endpoint provides a GLauth configuration file for the users associated with the project of this resource. It is intended for use by an external agent to synchronize user data from Waldur to GLauth. '
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Summary changed from '' to 'Move a resource to another project'
- Description changed from 'Move resource to another project.' to 'Moves a resource and its associated data to a different project. Requires staff permissions.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
GET /api/marketplace-provider-resources/{uuid}/offering/
- Summary changed from '' to 'Get offering details'
- Description changed from '' to 'Returns details of the offering connected to the requested object.'
GET /api/marketplace-provider-resources/{uuid}/offering_for_subresources/
- Summary changed from '' to 'List offerings for sub-resources'
- Description changed from '' to 'Returns a list of offerings that can be provisioned as sub-resources of the current resource.'
GET /api/marketplace-provider-resources/{uuid}/plan_periods/
- Summary changed from '' to 'List resource plan periods'
- Description changed from '' to 'Returns a list of active and future plan periods for the resource. Each period includes the plan details and current component usage.'
POST /api/marketplace-provider-resources/{uuid}/pull/
- Summary changed from '' to 'Pull resource data'
- Description changed from 'Starts process of pulling a resource' to 'Schedules a task to pull the latest data for the resource from its backend.'
- Responses changed
- New response: 202
- Deleted response: 200
POST /api/marketplace-provider-resources/{uuid}/refresh_last_sync/
- Summary changed from '' to 'Refresh last sync time'
- Description changed from 'Refresh the last sync time for a resource.' to 'Updates the 'last_sync' timestamp for a resource to the current time. This is useful for backend agents to signal that a resource is being actively monitored.'
POST /api/marketplace-provider-resources/{uuid}/set_as_erred/
- Summary changed from '' to 'Set resource state to erred'
- Description changed from 'Set the resource as erred.' to 'Allows a service provider to manually set the state of a resource to 'erred'. An error message and traceback can be provided.'
POST /api/marketplace-provider-resources/{uuid}/set_as_ok/
- Extensions changed
- New extension: x-permissions
- Summary changed from '' to 'Set resource state to OK'
- Description changed from 'Set the resource as OK.' to 'Allows a service provider to manually set the state of a resource to 'OK', clearing any previous error messages.'
POST /api/marketplace-provider-resources/{uuid}/set_backend_id/
- Summary changed from '' to 'Set resource backend ID'
- Description changed from 'Set resource backend ID.' to 'Allows a service provider to set or update the backend ID for a resource, linking it to an external system's identifier.'
POST /api/marketplace-provider-resources/{uuid}/set_backend_metadata/
- Summary changed from '' to 'Set resource backend metadata'
- Description changed from '' to 'Allows a service provider to set or update the backend-specific metadata for a resource.'
POST /api/marketplace-provider-resources/{uuid}/set_downscaled/
- Summary changed from '' to 'Set downscaled flag for resource'
- Description changed from 'Set downscaled flag for resource.' to 'Sets the 'downscaled' flag for a resource. Requires staff permissions.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_provider/
- Summary changed from '' to 'Set end date by provider'
- Description changed from '' to 'Allows a service provider to set or update the end date for a resource, scheduling it for termination. A notification is sent to the consumer.'
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-provider-resources/{uuid}/set_end_date_by_staff/
- Summary changed from '' to 'Set end date of the resource by staff'
- Description changed from 'Set end date of the resource by staff.' to 'Allows a staff user to set or update the end date for a resource, which will schedule it for termination.'
POST /api/marketplace-provider-resources/{uuid}/set_limits/
- Extensions changed
- New extension: x-permissions
- Summary changed from '' to 'Set resource limits'
- Description changed from '' to 'Allows a service provider to directly set the limits for a resource. This is typically used for administrative changes or backend synchronization, bypassing the normal order process.'
POST /api/marketplace-provider-resources/{uuid}/set_paused/
- Summary changed from '' to 'Set paused flag for resource'
- Description changed from 'Set paused flag for resource.' to 'Sets the 'paused' flag for a resource. Requires staff permissions.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/marketplace-provider-resources/{uuid}/set_restrict_member_access/
- Summary changed from '' to 'Set restrict member access flag'
- Description changed from 'Set restrict_member_access flag for resource.' to 'Sets the 'restrict_member_access' flag for a resource. Requires staff permissions.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/marketplace-provider-resources/{uuid}/set_slug/
- Summary changed from '' to 'Set resource slug'
- Description changed from 'Set slug for resource.' to 'Updates the slug for a resource. Requires staff permissions.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/marketplace-provider-resources/{uuid}/submit_report/
- Summary changed from '' to 'Submit a report for a resource'
- Description changed from 'Submit resource report.' to 'Allows a service provider to submit a report (e.g., usage or status report) for a resource.'
GET /api/marketplace-provider-resources/{uuid}/team/
- Summary changed from '' to 'Get resource team'
- Description changed from 'Return users connected to the project.' to 'Returns a list of users connected to the project of this resource, including their project roles and offering-specific usernames.'
POST /api/marketplace-provider-resources/{uuid}/terminate/
- Summary changed from '' to 'Terminate a resource'
- Description changed from 'Create marketplace order for resource termination.' to 'Creates a marketplace order to terminate the resource. This action is asynchronous and may require approval.'
POST /api/marketplace-provider-resources/{uuid}/unlink/
- Summary changed from '' to 'Unlink a resource (staff only)'
- Description changed from 'Delete marketplace resource and related plugin resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Forcefully deletes a marketplace resource and its related plugin resource from the database. This action does not schedule operations on the backend and is intended for cleaning up resources stuck in transitioning states. Requires staff permissions.'
- Responses changed
- New response: 204
- New response: 403
- Deleted response: 200
POST /api/marketplace-provider-resources/{uuid}/update_options/
- Summary changed from '' to 'Update resource options'
- Description changed from 'Update resource options.' to 'Updates the options of a resource. If the offering is configured to create orders for option changes, a new UPDATE order will be created. Otherwise, the options are updated directly.'
- Responses changed
- New response: 201
POST /api/marketplace-provider-resources/{uuid}/update_options_direct/
- Summary changed from '' to 'Update resource options directly'
- Description changed from 'Update resource options directly without creating orders.' to 'Allows a service provider to directly update the options of a resource without creating an order. This is typically used for administrative changes or backend synchronization.'
POST /api/marketplace-public-api/check_signature/
- Summary changed from '' to 'Check service provider signature'
- Description changed from '' to '
Validates a signed payload from a service provider. The payload is a JWT token
signed with the provider's API secret code. This endpoint is used to verify the
authenticity of a request before processing it.
1 2
The `data` field should contain the JWT token. '- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExampleSignatureCheckRequest
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/marketplace-public-api/set_usage/
- Summary changed from '' to 'Set component usage with signature'
- Description changed from '' to '
Allows a service provider to report usage for resource components using a signed JWT payload.
This provides a secure way for external systems to submit billing data.
1 2 3
The `data` field must contain a JWT token that, when decoded, matches the structure of the `ComponentUsageCreateSerializer`. '- Responses changed
- New response: 201
- Deleted response: 200
GET /api/marketplace-public-offerings/
- Summary changed from '' to 'List public offerings'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of public offerings. The list is filtered to show only offerings that are active or paused and available for ordering by the current user. If anonymous access is enabled, it shows shared offerings available to unauthenticated users.'
- New query param: can_create_offering_user
HEAD /api/marketplace-public-offerings/
- Summary changed from '' to 'List public offerings'
- New query param: can_create_offering_user
GET /api/marketplace-public-offerings/{uuid}/
- Summary changed from '' to 'Retrieve a public offering'
- Description changed from '' to 'Returns the details of a specific public offering. Access is granted if the offering is available for ordering by the current user or if anonymous access is enabled.'
GET /api/marketplace-public-offerings/{uuid}/plans/
- Summary changed from '' to 'List plans for an offering'
- Description changed from '' to 'Returns a list of plans available for a specific offering. The plans are filtered based on the current user's permissions and organization group memberships.'
GET /api/marketplace-public-offerings/{uuid}/plans/{plan_uuid}/
- Summary changed from '' to 'Retrieve a specific plan for an offering'
- Description changed from '' to 'Returns the details of a specific plan if it is available to the current user for the given offering.'
GET /api/marketplace-remote-synchronisations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-resource-users/
- Summary changed from '' to 'List resource users'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of users associated with resources, including their roles. The list is filtered based on the permissions of the current user. Staff and support users can see all resource-user links. Other users can only see links for resources they have access to.'
HEAD /api/marketplace-resource-users/
- Summary changed from '' to 'List resource users'
POST /api/marketplace-resource-users/
- Summary changed from '' to 'Link a user to a resource'
- Description changed from '' to 'Creates a new association between a user and a resource with a specific role. The user must have permission to manage users for the resource (typically service provider staff or owners).'
DELETE /api/marketplace-resource-users/{uuid}/
- Summary changed from '' to 'Unlink a user from a resource'
- Description changed from '' to 'Removes the association between a user and a resource, effectively revoking their role on that resource. The user must have permission to manage users for the resource.'
GET /api/marketplace-resource-users/{uuid}/
- Summary changed from '' to 'Retrieve a resource-user link'
- Description changed from '' to 'Returns details of a specific link between a user and a resource, including their role.'
GET /api/marketplace-resources/
- Summary changed from '' to 'List consumer resources'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of resources accessible to the current user as a service consumer.'
- Modified query param: o
- Schema changed
- Items changed
- New enum values: [-end_date end_date]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
HEAD /api/marketplace-resources/
- Summary changed from '' to 'List consumer resources'
- Modified query param: o
- Schema changed
- Items changed
- New enum values: [-end_date end_date]
POST /api/marketplace-resources/suggest_name/
- Summary changed from '' to 'Suggest a resource name'
- Description changed from '' to 'Generates a suggested name for a new resource based on the project and offering.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuggestANameForANewResource
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: offering
- Deleted required property: project
- Properties changed
- New property: name
- Deleted property: offering
- Deleted property: project
- Examples changed
- New example: ExampleResponseWithSuggestedName
GET /api/marketplace-resources/{uuid}/
- Summary changed from '' to 'Retrieve a consumer resource'
- Description changed from '' to 'Returns details of a specific resource accessible to the consumer.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
PATCH /api/marketplace-resources/{uuid}/
- Summary changed from '' to 'Partially update a consumer resource'
- Description changed from '' to 'Partially updates the name, description, or end date of a resource.'
PUT /api/marketplace-resources/{uuid}/
- Summary changed from '' to 'Update a consumer resource'
- Description changed from '' to 'Updates the name, description, or end date of a resource.'
GET /api/marketplace-resources/{uuid}/details/
- Summary changed from '' to 'Get resource details'
- Description changed from '' to 'Returns the detailed representation of the backend resource associated with the marketplace resource. The format of the response depends on the resource type.'
- Deleted query param: field
- Responses changed
- New response: 204
- New response: 404
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: attributes
- Deleted property: available_actions
- Deleted property: backend_id
- Deleted property: backend_metadata
- Deleted property: can_terminate
- Deleted property: category_icon
- Deleted property: category_title
- Deleted property: category_uuid
- Deleted property: created
- Deleted property: creation_order
- Deleted property: current_usages
- Deleted property: customer_name
- Deleted property: customer_slug
- Deleted property: customer_uuid
- Deleted property: description
- Deleted property: downscaled
- Deleted property: effective_id
- Deleted property: end_date
- Deleted property: end_date_requested_by
- Deleted property: endpoints
- Deleted property: error_message
- Deleted property: error_traceback
- Deleted property: is_limit_based
- Deleted property: is_usage_based
- Deleted property: last_sync
- Deleted property: limit_usage
- Deleted property: limits
- Deleted property: modified
- Deleted property: name
- Deleted property: offering
- Deleted property: offering_billable
- Deleted property: offering_description
- Deleted property: offering_image
- Deleted property: offering_name
- Deleted property: offering_plugin_options
- Deleted property: offering_shared
- Deleted property: offering_slug
- Deleted property: offering_thumbnail
- Deleted property: offering_type
- Deleted property: offering_uuid
- Deleted property: options
- Deleted property: order_in_progress
- Deleted property: parent_name
- Deleted property: parent_offering_name
- Deleted property: parent_offering_slug
- Deleted property: parent_offering_uuid
- Deleted property: parent_uuid
- Deleted property: paused
- Deleted property: plan
- Deleted property: plan_description
- Deleted property: plan_name
- Deleted property: plan_unit
- Deleted property: plan_uuid
- Deleted property: project
- Deleted property: project_description
- Deleted property: project_end_date
- Deleted property: project_end_date_requested_by
- Deleted property: project_name
- Deleted property: project_slug
- Deleted property: project_uuid
- Deleted property: provider_name
- Deleted property: provider_slug
- Deleted property: provider_uuid
- Deleted property: renewal_date
- Deleted property: report
- Deleted property: resource_type
- Deleted property: resource_uuid
- Deleted property: restrict_member_access
- Deleted property: scope
- Deleted property: service_settings_uuid
- Deleted property: slug
- Deleted property: state
- Deleted property: url
- Deleted property: user_requires_reconsent
- Deleted property: username
- Deleted property: uuid
- AdditionalProperties changed
- Schema added
GET /api/marketplace-resources/{uuid}/glauth_users_config/
- Summary changed from '' to 'Get GLauth user configuration for a resource'
- Description changed from ' This endpoint provides a config file for GLauth. Example: https://github.com/glauth/glauth/blob/master/v2/sample-simple.cfg It is assumed that the config is used by an external agent, which synchronizes data from Waldur to GLauth. ' to ' This endpoint provides a GLauth configuration file for the users associated with the project of this resource. It is intended for use by an external agent to synchronize user data from Waldur to GLauth. '
POST /api/marketplace-resources/{uuid}/move_resource/
- Summary changed from '' to 'Move a resource to another project'
- Description changed from 'Move resource to another project.' to 'Moves a resource and its associated data to a different project. Requires staff permissions.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
GET /api/marketplace-resources/{uuid}/offering/
- Summary changed from '' to 'Get offering details'
- Description changed from '' to 'Returns details of the offering connected to the requested object.'
GET /api/marketplace-resources/{uuid}/offering_for_subresources/
- Summary changed from '' to 'List offerings for sub-resources'
- Description changed from '' to 'Returns a list of offerings that can be provisioned as sub-resources of the current resource.'
GET /api/marketplace-resources/{uuid}/plan_periods/
- Summary changed from '' to 'List resource plan periods'
- Description changed from '' to 'Returns a list of active and future plan periods for the resource. Each period includes the plan details and current component usage.'
POST /api/marketplace-resources/{uuid}/pull/
- Summary changed from '' to 'Pull resource data'
- Description changed from 'Starts process of pulling a resource' to 'Schedules a task to pull the latest data for the resource from its backend.'
- Responses changed
- New response: 202
- Deleted response: 200
POST /api/marketplace-resources/{uuid}/renew/
- Summary changed from '' to 'Renew a prepaid resource'
- Description changed from 'Create a renewal order for a prepaid resource.' to 'Creates a renewal order to extend the subscription period of a prepaid resource. Optionally, limits can be upgraded at the same time.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: RenewFor12MonthsWithLimitUpgrade
- New example: RenewFor6MonthsWithoutChangingLimits
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: RenewFor12MonthsWithLimitUpgrade
- New example: RenewFor6MonthsWithoutChangingLimits
POST /api/marketplace-resources/{uuid}/set_downscaled/
- Summary changed from '' to 'Set downscaled flag for resource'
- Description changed from 'Set downscaled flag for resource.' to 'Sets the 'downscaled' flag for a resource. Requires staff permissions.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/marketplace-resources/{uuid}/set_end_date_by_staff/
- Summary changed from '' to 'Set end date of the resource by staff'
- Description changed from 'Set end date of the resource by staff.' to 'Allows a staff user to set or update the end date for a resource, which will schedule it for termination.'
POST /api/marketplace-resources/{uuid}/set_paused/
- Summary changed from '' to 'Set paused flag for resource'
- Description changed from 'Set paused flag for resource.' to 'Sets the 'paused' flag for a resource. Requires staff permissions.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/marketplace-resources/{uuid}/set_restrict_member_access/
- Summary changed from '' to 'Set restrict member access flag'
- Description changed from 'Set restrict_member_access flag for resource.' to 'Sets the 'restrict_member_access' flag for a resource. Requires staff permissions.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/marketplace-resources/{uuid}/set_slug/
- Summary changed from '' to 'Set resource slug'
- Description changed from 'Set slug for resource.' to 'Updates the slug for a resource. Requires staff permissions.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/marketplace-resources/{uuid}/switch_plan/
- Summary changed from '' to 'Switch resource plan'
- Description changed from 'Create marketplace order for resource plan switch.' to 'Creates a marketplace order to switch the billing plan for a resource. This action is asynchronous and may require approval.'
GET /api/marketplace-resources/{uuid}/team/
- Summary changed from '' to 'Get resource team'
- Description changed from 'Return users connected to the project.' to 'Returns a list of users connected to the project of this resource, including their project roles and offering-specific usernames.'
POST /api/marketplace-resources/{uuid}/terminate/
- Summary changed from '' to 'Terminate a resource'
- Description changed from 'Create marketplace order for resource termination.' to 'Creates a marketplace order to terminate the resource. This action is asynchronous and may require approval.'
POST /api/marketplace-resources/{uuid}/unlink/
- Summary changed from '' to 'Unlink a resource (staff only)'
- Description changed from 'Delete marketplace resource and related plugin resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Forcefully deletes a marketplace resource and its related plugin resource from the database. This action does not schedule operations on the backend and is intended for cleaning up resources stuck in transitioning states. Requires staff permissions.'
- Responses changed
- New response: 204
- New response: 403
- Deleted response: 200
POST /api/marketplace-resources/{uuid}/update_limits/
- Summary changed from '' to 'Update resource limits'
- Description changed from 'Create marketplace order for resource limits update.' to 'Creates a marketplace order to update the limits (e.g., CPU, RAM) for a resource. This action is asynchronous and may require approval.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: UpdateResourceLimits
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: UpdateResourceLimits
POST /api/marketplace-resources/{uuid}/update_options/
- Summary changed from '' to 'Update resource options'
- Description changed from 'Update resource options.' to 'Updates the options of a resource. If the offering is configured to create orders for option changes, a new UPDATE order will be created. Otherwise, the options are updated directly.'
- Responses changed
- New response: 201
GET /api/marketplace-robot-accounts/
- Summary changed from '' to 'List robot accounts'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of robot accounts accessible to the current user.'
HEAD /api/marketplace-robot-accounts/
- Summary changed from '' to 'List robot accounts'
POST /api/marketplace-robot-accounts/
- Summary changed from '' to 'Create a robot account'
- Description changed from '' to 'Creates a new robot account for a specific resource. This is typically used for automated access to a resource, e.g., for CI/CD pipelines.'
DELETE /api/marketplace-robot-accounts/{uuid}/
- Summary changed from '' to 'Delete a robot account'
- Description changed from '' to 'Deletes a robot account. This is a hard delete and should be used with caution.'
GET /api/marketplace-robot-accounts/{uuid}/
- Summary changed from '' to 'Retrieve a robot account'
- Description changed from '' to 'Returns the details of a specific robot account.'
PATCH /api/marketplace-robot-accounts/{uuid}/
- Summary changed from '' to 'Partially update a robot account'
- Description changed from '' to 'Partially updates the properties of a robot account. Not allowed for synchronized remote accounts.'
PUT /api/marketplace-robot-accounts/{uuid}/
- Summary changed from '' to 'Update a robot account'
- Description changed from '' to 'Updates the properties of a robot account, such as its username or associated users. Not allowed for synchronized remote accounts.'
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Summary changed from '' to 'Set robot account state to creating'
- Description changed from '' to 'Transitions the robot account state from 'Requested' to 'Creating'. This is typically used by an agent to signal that the creation process has started.'
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Summary changed from '' to 'Set robot account state to deleted'
- Description changed from '' to 'Transitions the robot account state from 'Requested deletion' to 'Deleted', marking the successful completion of the deletion process.'
- Responses changed
- New response: 400
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Summary changed from '' to 'Set robot account state to erred'
- Description changed from '' to 'Manually moves the robot account into the 'Error' state. An optional error message can be provided.'
- Responses changed
- New response: 400
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Summary changed from '' to 'Set robot account state to OK'
- Description changed from '' to 'Manually sets the robot account state to 'OK', indicating that it is fully operational. This can be used to recover from an error state.'
- Responses changed
- New response: 400
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Summary changed from '' to 'Request deletion of a robot account'
- Description changed from '' to 'Transitions the robot account state from 'OK' to 'Requested deletion', initiating the deletion process.'
- Responses changed
- New response: 400
GET /api/marketplace-runtime-states/
- Summary changed from '' to 'List available runtime states for resources'
- Description changed from 'Retrieve available runtime states for resources, optionally filtered by project and category.' to ' Returns a unique, sorted list of runtime states for all resources accessible to the current user. The runtime state is a backend-specific state of a resource (e.g., 'ACTIVE', 'SHUTOFF' for a VM). This endpoint is useful for building dynamic filters in a user interface. The list can be optionally filtered by project or category. '
- Modified query param: category_uuid
- Description changed from 'UUID of the category to filter runtime states by.' to 'Filter runtime states by resources belonging to a specific category.'
- Modified query param: project_uuid
- Description changed from 'UUID of the project to filter runtime states by.' to 'Filter runtime states by resources within a specific project.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExampleResponseForRuntimeStates
GET /api/marketplace-screenshots/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-script-async-dry-run/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-sections/
- Summary changed from '' to 'List sections'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of all sections. Sections are used to group attributes within a category.'
HEAD /api/marketplace-sections/
- Summary changed from '' to 'List sections'
POST /api/marketplace-sections/
- Summary changed from '' to 'Create a section'
- Description changed from '' to 'Creates a new section within a category. Requires staff permissions.'
DELETE /api/marketplace-sections/{key}/
- Summary changed from '' to 'Delete a section'
- Description changed from '' to 'Deletes a section. Requires staff permissions.'
GET /api/marketplace-sections/{key}/
- Summary changed from '' to 'Retrieve a section'
- Description changed from '' to 'Returns the details of a specific section, identified by its key.'
PATCH /api/marketplace-sections/{key}/
- Summary changed from '' to 'Partially update a section'
- Description changed from '' to 'Partially updates an existing section. Requires staff permissions.'
PUT /api/marketplace-sections/{key}/
- Summary changed from '' to 'Update a section'
- Description changed from '' to 'Updates an existing section. Requires staff permissions.'
GET /api/marketplace-service-providers/
- Summary changed from '' to 'List service providers'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of service providers.'
HEAD /api/marketplace-service-providers/
- Summary changed from '' to 'List service providers'
POST /api/marketplace-service-providers/
- Summary changed from '' to 'Create a service provider'
- Description changed from '' to 'Creates a new service provider profile for a customer.'
GET /api/marketplace-service-providers/{service_provider_uuid}/compliance/checklists_summary/
- Summary changed from '' to 'Get summary of compliance checklists'
- Description changed from 'Get summary of all compliance checklists used by this service provider with usage counts.' to 'Returns a summary of all compliance checklists used by this service provider with usage counts.'
GET /api/marketplace-service-providers/{service_provider_uuid}/compliance/compliance_overview/
- Summary changed from '' to 'Get compliance overview for a service provider'
- Description changed from 'Get compliance overview statistics for all offerings managed by this service provider.' to 'Returns compliance overview statistics for all offerings managed by this service provider.'
GET /api/marketplace-service-providers/{service_provider_uuid}/compliance/offering_users/
- Summary changed from '' to 'List offering users' compliance status'
- Description changed from 'List offering users with their compliance status for this service provider.' to 'Returns a list of offering users with their compliance status for this service provider. Can be filtered by offering and compliance status.'
- Modified query param: compliance_status
- Description changed from 'Filter by compliance status: completed, pending, no_checklist' to 'Filter by compliance status: completed, pending, no_checklist.'
- Modified query param: offering_uuid
- Description changed from 'Filter by offering UUID' to 'Filter by offering UUID.'
GET /api/marketplace-service-providers/{service_provider_uuid}/course_accounts/
- Summary changed from '' to 'List course project accounts for a service provider'
- Description changed from 'Return course project accounts that have access to resources managed by the provider.
1 2 3 4 5 6 7 8 9 10
Checks for: - Projects with active service provider's resources - Course accounts with non-blank users ' to 'Returns a paginated list of course project accounts that have access to resources managed by the provider. This includes: - Projects with active resources of the service provider. - Course accounts with non-blank users. '
GET /api/marketplace-service-providers/{service_provider_uuid}/customer_projects/
- Summary changed from '' to 'List customer projects of a service provider'
- Description changed from 'Return customer projects of service provider.' to 'Returns a paginated list of projects belonging to a specific customer that have consumed resources from the specified service provider.'
- New query param: project_customer_uuid
GET /api/marketplace-service-providers/{service_provider_uuid}/customers/
- Summary changed from '' to 'List customers of a service provider'
- Description changed from 'Return customers of service provider.' to 'Returns a paginated list of customers who have consumed resources from the specified service provider.'
GET /api/marketplace-service-providers/{service_provider_uuid}/keys/
- Summary changed from '' to 'List SSH keys of a service provider'
- Description changed from 'Return SSH keys of service provider.' to 'Returns a paginated list of SSH public keys for all users who have consumed resources from the specified service provider.'
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Summary changed from '' to 'List offerings of a service provider'
- Description changed from 'Return offerings of service provider.' to 'Returns a paginated list of all billable, shared offerings provided by the specified service provider.'
- New query param: can_create_offering_user
GET /api/marketplace-service-providers/{service_provider_uuid}/project_permissions/
- Summary changed from '' to 'List project permissions of a service provider'
- Description changed from 'Return project permissions of service provider.' to 'Returns a paginated list of project permissions for all projects that have consumed resources from the specified service provider.'
GET /api/marketplace-service-providers/{service_provider_uuid}/project_service_accounts/
- Summary changed from '' to 'List project service accounts for a service provider'
- Description changed from 'Return project service accounts that have access to resources managed by the provider.
1 2 3 4 5 6 7 8 9 10
Checks for: - Projects with active service provider's resources - Service accounts with non-blank usernames ' to 'Returns a paginated list of project service accounts that have access to resources managed by the provider. This includes: - Projects with active resources of the service provider. - Service accounts with non-blank usernames. '
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- Summary changed from '' to 'List projects of a service provider'
- Description changed from 'Return projects of service provider.' to 'Returns a paginated list of all projects that have consumed resources from the specified service provider.'
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [grace_period_days]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: grace_period_days
GET /api/marketplace-service-providers/{service_provider_uuid}/user_customers/
- Summary changed from '' to 'List customers of a specific user within a service provider's scope'
- Description changed from 'Return customers that have access role for a specified user within service provider's scope.
1 2 3 4 5 6 7 8 9 10 11 12
Checks for: - Customers where user has direct permissions - Customers with projects where user has project roles - Customers related to service provider's resources If user UUID is invalid or missing, returns empty list.' to 'Returns a paginated list of customers that a specified user has access to within the scope of a service provider. This includes: - Customers where the user has direct permissions. - Customers with projects where the user has project roles. - Customers related to the service provider's resources that the user can access. '- Modified query param: user_uuid
- Description changed from 'UUID of user to get related customers for' to 'UUID of the user to get related customers for.'
GET /api/marketplace-service-providers/{service_provider_uuid}/users/
- Summary changed from '' to 'List users of a service provider'
- Description changed from 'Return users of service provider.' to 'Returns a paginated list of all users who have consumed resources from the specified service provider.'
DELETE /api/marketplace-service-providers/{uuid}/
- Summary changed from '' to 'Delete a service provider'
- Description changed from '' to 'Deletes a service provider profile. Only possible if there are no active offerings.'
GET /api/marketplace-service-providers/{uuid}/
- Summary changed from '' to 'Retrieve a service provider'
- Description changed from '' to 'Returns details of a specific service provider.'
PATCH /api/marketplace-service-providers/{uuid}/
- Summary changed from '' to 'Partially update a service provider'
- Description changed from '' to 'Partially updates an existing service provider profile.'
PUT /api/marketplace-service-providers/{uuid}/
- Summary changed from '' to 'Update a service provider'
- Description changed from '' to 'Updates an existing service provider profile.'
POST /api/marketplace-service-providers/{uuid}/add_user/
- Summary changed from '' to 'Grant a role to a user'
- Description changed from '' to 'Assigns a specific role to a user within the current scope. An optional expiration time for the role can be set.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: GrantProjectAdminRoleUntilEndOfYear
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleGrantResponse
- Modified response: 400
- Description changed from '' to 'Validation error, for example when trying to add a user to a terminated project.'
- Content changed
- Deleted media type: application/json
GET /api/marketplace-service-providers/{uuid}/api_secret_code/
- Summary changed from '' to 'Get service provider API secret code'
- Description changed from 'Return service provider API secret code.' to 'Returns the API secret code for a service provider. Requires service provider owner permission.'
POST /api/marketplace-service-providers/{uuid}/api_secret_code/
- Summary changed from '' to 'Generate new service provider API secret code'
- Description changed from 'Generate new service provider API secret code.' to 'Generates a new API secret code for a service provider, invalidating the old one. Requires service provider owner permission.'
POST /api/marketplace-service-providers/{uuid}/delete_user/
- Summary changed from '' to 'Revoke a role from a user'
- Description changed from '' to 'Removes a specific role from a user within the current scope. This effectively revokes their permissions associated with that role.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: RevokeProjectAdminRoleFromUser
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to 'Role revoked successfully.'
GET /api/marketplace-service-providers/{uuid}/list_users/
- Summary changed from '' to 'List users and their roles in a scope'
- Description changed from '' to 'Retrieves a list of users who have a role within a specific scope (e.g., a project or an organization). The list can be filtered by user details or role.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExampleUserRoleListResponse
GET /api/marketplace-service-providers/{uuid}/revenue/
- Summary changed from '' to 'Get service provider revenue'
- Description changed from '' to 'Returns monthly revenue data for the last year for the service provider.'
GET /api/marketplace-service-providers/{uuid}/robot_account_customers/
- Summary changed from '' to 'List customers with robot accounts'
- Description changed from '' to 'Returns a paginated list of customers who have robot accounts for resources managed by this service provider.'
- Modified query param: customer_name
- Description changed from '' to 'Filter by customer name (case-insensitive partial match).'
GET /api/marketplace-service-providers/{uuid}/robot_account_projects/
- Summary changed from '' to 'List projects with robot accounts'
- Description changed from '' to 'Returns a paginated list of projects which have robot accounts for resources managed by this service provider.'
- Modified query param: project_name
- Description changed from '' to 'Filter by project name (case-insensitive partial match).'
POST /api/marketplace-service-providers/{uuid}/set_offerings_username/
- Summary changed from '' to 'Set offering username for a user'
- Description changed from '' to 'Sets or updates the offering-specific username for a user across all offerings managed by the service provider that the user has access to.'
GET /api/marketplace-service-providers/{uuid}/stat/
- Summary changed from '' to 'Get service provider statistics'
- Description changed from '' to 'Returns various statistics for the service provider, such as number of active campaigns, customers, and resources.'
POST /api/marketplace-service-providers/{uuid}/update_user/
- Summary changed from '' to 'Update a user's role expiration'
- Description changed from '' to 'Updates the expiration time for a user's existing role in the current scope. This is useful for extending or shortening the duration of a permission. To make a role permanent, set expiration_time to null.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExtendRoleUntilMid-2025
- New example: MakeARolePermanent
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleUpdateResponse
GET /api/marketplace-site-agent-identities/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-site-agent-processors/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-site-agent-services/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/marketplace-software-catalogs/
- Summary changed from '' to 'List software catalogs'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of available software catalogs, such as EESSI or Spack.'
HEAD /api/marketplace-software-catalogs/
- Summary changed from '' to 'List software catalogs'
POST /api/marketplace-software-catalogs/
- Summary changed from '' to 'Create a software catalog'
- Description changed from '' to 'Creates a new software catalog. Requires staff permissions.'
DELETE /api/marketplace-software-catalogs/{uuid}/
- Summary changed from '' to 'Delete a software catalog'
- Description changed from '' to 'Deletes a software catalog. Requires staff permissions.'
GET /api/marketplace-software-catalogs/{uuid}/
- Summary changed from '' to 'Retrieve a software catalog'
- Description changed from '' to 'Returns the details of a specific software catalog, including its name, version, and the number of packages it contains.'
PATCH /api/marketplace-software-catalogs/{uuid}/
- Summary changed from '' to 'Partially update a software catalog'
- Description changed from '' to 'Partially updates an existing software catalog. Requires staff permissions.'
PUT /api/marketplace-software-catalogs/{uuid}/
- Summary changed from '' to 'Update a software catalog'
- Description changed from '' to 'Updates an existing software catalog. Requires staff permissions.'
GET /api/marketplace-software-packages/
- Summary changed from '' to 'List software packages'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of software packages available in the catalogs. Can be filtered by catalog, offering, or various package attributes.'
HEAD /api/marketplace-software-packages/
- Summary changed from '' to 'List software packages'
POST /api/marketplace-software-packages/
- Summary changed from '' to 'Create a software package'
- Description changed from '' to 'Creates a new software package within a catalog. Requires staff permissions.'
DELETE /api/marketplace-software-packages/{uuid}/
- Summary changed from '' to 'Delete a software package'
- Description changed from '' to 'Deletes a software package. Requires staff permissions.'
GET /api/marketplace-software-packages/{uuid}/
- Summary changed from '' to 'Retrieve a software package'
- Description changed from '' to 'Returns the details of a specific software package, including its description, homepage, and available versions.'
PATCH /api/marketplace-software-packages/{uuid}/
- Summary changed from '' to 'Partially update a software package'
- Description changed from '' to 'Partially updates an existing software package. Requires staff permissions.'
PUT /api/marketplace-software-packages/{uuid}/
- Summary changed from '' to 'Update a software package'
- Description changed from '' to 'Updates an existing software package. Requires staff permissions.'
GET /api/marketplace-software-targets/
- Summary changed from '' to 'List software targets'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of software targets, which represent specific builds of a software version for a given CPU architecture.'
HEAD /api/marketplace-software-targets/
- Summary changed from '' to 'List software targets'
POST /api/marketplace-software-targets/
- Summary changed from '' to 'Create a software target'
- Description changed from '' to 'Creates a new target for a software version. Requires staff permissions.'
DELETE /api/marketplace-software-targets/{uuid}/
- Summary changed from '' to 'Delete a software target'
- Description changed from '' to 'Deletes a software target. Requires staff permissions.'
GET /api/marketplace-software-targets/{uuid}/
- Summary changed from '' to 'Retrieve a software target'
- Description changed from '' to 'Returns the details of a specific software target, including its CPU family, microarchitecture, and path.'
PATCH /api/marketplace-software-targets/{uuid}/
- Summary changed from '' to 'Partially update a software target'
- Description changed from '' to 'Partially updates an existing software target. Requires staff permissions.'
PUT /api/marketplace-software-targets/{uuid}/
- Summary changed from '' to 'Update a software target'
- Description changed from '' to 'Updates an existing software target. Requires staff permissions.'
GET /api/marketplace-software-versions/
- Summary changed from '' to 'List software versions'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of software versions. Can be filtered by package, catalog, offering, or CPU architecture.'
HEAD /api/marketplace-software-versions/
- Summary changed from '' to 'List software versions'
POST /api/marketplace-software-versions/
- Summary changed from '' to 'Create a software version'
- Description changed from '' to 'Creates a new version for a software package. Requires staff permissions.'
DELETE /api/marketplace-software-versions/{uuid}/
- Summary changed from '' to 'Delete a software version'
- Description changed from '' to 'Deletes a software version. Requires staff permissions.'
GET /api/marketplace-software-versions/{uuid}/
- Summary changed from '' to 'Retrieve a software version'
- Description changed from '' to 'Returns the details of a specific software version, including its release date and target count.'
PATCH /api/marketplace-software-versions/{uuid}/
- Summary changed from '' to 'Partially update a software version'
- Description changed from '' to 'Partially updates an existing software version. Requires staff permissions.'
PUT /api/marketplace-software-versions/{uuid}/
- Summary changed from '' to 'Update a software version'
- Description changed from '' to 'Updates an existing software version. Requires staff permissions.'
GET /api/marketplace-user-offering-consents/
- Summary changed from '' to 'List user offering consents'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of Terms of Service consents for the current user. Staff and support users can see all consents.'
HEAD /api/marketplace-user-offering-consents/
- Summary changed from '' to 'List user offering consents'
POST /api/marketplace-user-offering-consents/
- Summary changed from '' to 'Grant consent to an offering's Terms of Service'
- Description changed from '' to 'Creates a consent record for the current user and a specific offering. This indicates that the user has accepted the active Terms of Service for that offering. If a consent already exists (even if revoked), it will be reactivated and updated with the current ToS version.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: GrantConsentToAnOffering
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: GrantConsentToAnOffering
GET /api/marketplace-user-offering-consents/{uuid}/
- Summary changed from '' to 'Retrieve a user offering consent'
- Description changed from '' to 'Returns the details of a specific consent record.'
POST /api/marketplace-user-offering-consents/{uuid}/revoke/
- Summary changed from '' to 'Revoke consent to Terms of Service'
- Description changed from 'Revoke consent to Terms of Service for an offering.' to 'Revokes a user's consent to the Terms of Service for an offering. The consent record is marked with a revocation date, and the user may lose access to related resources if consent is required.'
GET /api/metadata/events/
- Summary changed from '' to 'Get event metadata'
- Description changed from 'Get event metadata grouped by categories' to 'Retrieves metadata for all available event types, grouped by categories. This endpoint is publicly accessible and is useful for building UIs for event filtering or webhook configuration.'
GET /api/metadata/features/
- Summary changed from '' to 'Get feature flag metadata'
- Description changed from 'Get feature metadata including toggles and descriptions' to 'Retrieves metadata for all available feature flags, including their keys, descriptions, and grouping sections. This endpoint is publicly accessible and helps UIs to dynamically render feature-related settings.'
GET /api/metadata/permissions/
- Summary changed from '' to 'Get permission metadata'
- Description changed from 'Get permission metadata including roles, permissions, and descriptions' to 'Retrieves metadata about roles, permissions, and their descriptions. This endpoint is publicly accessible and provides data needed for UI components, such as role selection dropdowns and permission management interfaces.'
GET /api/metadata/settings/
- Summary changed from '' to 'Get overridable settings metadata'
- Description changed from 'Get settings metadata from Constance configuration' to 'Retrieves metadata for all settings that can be configured via the Constance backend. This includes setting keys, human-readable descriptions, default values, and types. This endpoint is publicly accessible.'
GET /api/notification-messages-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/notification-messages-templates/{uuid}/override/
- Summary changed from '' to 'Override notification template content'
GET /api/notification-messages/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/notification-messages/{uuid}/disable/
- Summary changed from '' to 'Disable a notification'
POST /api/notification-messages/{uuid}/enable/
- Summary changed from '' to 'Enable a notification'
GET /api/onboarding-country-configs/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
POST /api/onboarding-country-configs/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
GET /api/onboarding-country-configs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
PATCH /api/onboarding-country-configs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
PUT /api/onboarding-country-configs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
GET /api/onboarding-justifications/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/onboarding-question-metadata/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/onboarding-verifications/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [bolagsverket]
POST /api/onboarding-verifications/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [bolagsverket]
GET /api/onboarding-verifications/checklist-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: always_requires_review
- New property: always_show_guidance
- New property: dependency_logic_operator
- New property: guidance_answer_value
- New property: guidance_operator
- New property: max_file_size_mb
- New property: max_files_count
- New property: max_value
- New property: min_value
- New property: operator
- New property: order
- New property: question_type
- New property: review_answer_value
- Modified property: questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: always_requires_review
- New property: always_show_guidance
- New property: dependency_logic_operator
- New property: guidance_answer_value
- New property: guidance_operator
- New property: max_file_size_mb
- New property: max_files_count
- New property: max_value
- New property: min_value
- New property: operator
- New property: order
- New property: question_type
- New property: review_answer_value
POST /api/onboarding-verifications/start_verification/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [bolagsverket]
GET /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [bolagsverket]
PATCH /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [bolagsverket]
PUT /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [bolagsverket]
GET /api/onboarding-verifications/{uuid}/checklist/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: allowed_file_types
- New required property: allowed_mime_types
- New required property: max_file_size_mb
- New required property: max_files_count
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
POST /api/onboarding-verifications/{uuid}/create_customer/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
- Modified property: access_subnets
- ReadOnly changed from true to false
- Modified property: accounting_start_date
- ReadOnly changed from true to false
- Modified property: agreement_number
- ReadOnly changed from true to false
- Modified property: archived
- ReadOnly changed from true to false
- Modified property: blocked
- ReadOnly changed from true to false
- Modified property: default_tax_percent
- ReadOnly changed from true to false
- Modified property: display_billing_info_in_projects
- ReadOnly changed from true to false
- Modified property: domain
- ReadOnly changed from true to false
- Modified property: max_service_accounts
- ReadOnly changed from true to false
- Modified property: project_metadata_checklist
- ReadOnly changed from true to false
- Modified property: sponsor_number
- ReadOnly changed from true to false
POST /api/onboarding-verifications/{uuid}/run_validation/
- Request body changed
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [bolagsverket]
GET /api/openstack-backups/
- Summary changed from '' to 'List backups'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of instance backups.'
HEAD /api/openstack-backups/
- Summary changed from '' to 'List backups'
DELETE /api/openstack-backups/{uuid}/
- Summary changed from '' to 'Delete backup'
- Description changed from '' to 'Delete an instance backup.'
GET /api/openstack-backups/{uuid}/
- Summary changed from '' to 'Get backup details'
- Description changed from '' to 'Retrieve details of a specific instance backup.'
PATCH /api/openstack-backups/{uuid}/
- Summary changed from '' to 'Partially update backup'
- Description changed from '' to 'Update specific fields of an instance backup.'
PUT /api/openstack-backups/{uuid}/
- Summary changed from '' to 'Update backup'
- Description changed from '' to 'Update an existing instance backup.'
POST /api/openstack-backups/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/openstack-backups/{uuid}/restore/
- Summary changed from '' to 'Restore instance from backup'
POST /api/openstack-backups/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/openstack-flavors/
- Summary changed from '' to 'List flavors'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of available VM instance flavors.'
HEAD /api/openstack-flavors/
- Summary changed from '' to 'List flavors'
GET /api/openstack-flavors/usage_stats/
- Summary changed from '' to 'Get flavor usage statistics'
- Description changed from '' to 'Retrieve usage statistics for VM instance flavors, showing running and created instance counts for each flavor.'
HEAD /api/openstack-flavors/usage_stats/
- Summary changed from '' to 'Get flavor usage statistics'
GET /api/openstack-flavors/{uuid}/
- Summary changed from '' to 'Get flavor details'
- Description changed from '' to 'Retrieve details of a specific VM instance flavor.'
GET /api/openstack-floating-ips/
- Summary changed from '' to 'List floating IPs'
- Description changed from 'Status DOWN means that floating IP is not linked to a VM, status ACTIVE means that it is in use.' to 'Get a list of floating IP addresses. Status DOWN means that floating IP is not linked to a VM, status ACTIVE means that it is in use.'
HEAD /api/openstack-floating-ips/
- Summary changed from '' to 'List floating IPs'
DELETE /api/openstack-floating-ips/{uuid}/
- Summary changed from '' to 'Delete floating IP'
- Description changed from '' to 'Delete a floating IP address.'
GET /api/openstack-floating-ips/{uuid}/
- Summary changed from '' to 'Get floating IP details'
- Description changed from '' to 'Retrieve details of a specific floating IP address.'
POST /api/openstack-floating-ips/{uuid}/attach_to_port/
- Summary changed from '' to 'Attach floating IP to a port'
POST /api/openstack-floating-ips/{uuid}/detach_from_port/
- Summary changed from '' to 'Detach floating IP from port'
POST /api/openstack-floating-ips/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/openstack-floating-ips/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
POST /api/openstack-floating-ips/{uuid}/update_description/
- Summary changed from '' to 'Update floating IP description'
GET /api/openstack-images/
- Summary changed from '' to 'List images'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of available VM instance images.'
HEAD /api/openstack-images/
- Summary changed from '' to 'List images'
GET /api/openstack-images/usage_stats/
- Summary changed from '' to 'Get image usage statistics'
- Description changed from '' to 'Retrieve usage statistics for VM instance images, showing running and created instance counts for each image.'
HEAD /api/openstack-images/usage_stats/
- Summary changed from '' to 'Get image usage statistics'
GET /api/openstack-images/{uuid}/
- Summary changed from '' to 'Get image details'
- Description changed from '' to 'Retrieve details of a specific VM instance image.'
GET /api/openstack-instance-availability-zones/
- Summary changed from '' to 'List instance availability zones'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of instance availability zones.'
HEAD /api/openstack-instance-availability-zones/
- Summary changed from '' to 'List instance availability zones'
GET /api/openstack-instance-availability-zones/{uuid}/
- Summary changed from '' to 'Get instance availability zone details'
- Description changed from '' to 'Retrieve details of a specific instance availability zone.'
GET /api/openstack-instances/
- Summary changed from '' to 'List instances'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of VM instances.'
HEAD /api/openstack-instances/
- Summary changed from '' to 'List instances'
GET /api/openstack-instances/{uuid}/
- Summary changed from '' to 'Get instance details'
- Description changed from '' to 'Retrieve details of a specific VM instance.'
PATCH /api/openstack-instances/{uuid}/
- Summary changed from '' to 'Partially update instance'
- Description changed from '' to 'Update specific fields of a VM instance.'
PUT /api/openstack-instances/{uuid}/
- Summary changed from '' to 'Update instance'
- Description changed from '' to 'Update an existing VM instance.'
POST /api/openstack-instances/{uuid}/backup/
- Summary changed from '' to 'Create instance backup'
POST /api/openstack-instances/{uuid}/change_flavor/
- Summary changed from '' to 'Change instance flavor'
GET /api/openstack-instances/{uuid}/console/
- Summary changed from '' to 'Get console URL'
GET /api/openstack-instances/{uuid}/console_log/
- Summary changed from '' to 'Get console log'
GET /api/openstack-instances/{uuid}/floating_ips/
- Summary changed from '' to 'List instance floating IPs'
GET /api/openstack-instances/{uuid}/ports/
- Summary changed from '' to 'List instance ports'
POST /api/openstack-instances/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/openstack-instances/{uuid}/restart/
- Summary changed from '' to 'Restart instance'
POST /api/openstack-instances/{uuid}/start/
- Summary changed from '' to 'Start instance'
POST /api/openstack-instances/{uuid}/stop/
- Summary changed from '' to 'Stop instance'
POST /api/openstack-instances/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
POST /api/openstack-instances/{uuid}/update_allowed_address_pairs/
- Summary changed from '' to 'Update instance allowed address pairs'
POST /api/openstack-instances/{uuid}/update_floating_ips/
- Summary changed from '' to 'Update instance floating IPs'
POST /api/openstack-instances/{uuid}/update_ports/
- Summary changed from '' to 'Update instance ports'
POST /api/openstack-instances/{uuid}/update_security_groups/
- Summary changed from '' to 'Update instance security groups'
GET /api/openstack-marketplace-tenants/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/openstack-migrations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/openstack-network-rbac-policies/
- Summary changed from '' to 'List network RBAC policies'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of network RBAC policies.'
HEAD /api/openstack-network-rbac-policies/
- Summary changed from '' to 'List network RBAC policies'
POST /api/openstack-network-rbac-policies/
- Summary changed from '' to 'Create RBAC policy'
DELETE /api/openstack-network-rbac-policies/{uuid}/
- Summary changed from '' to 'Delete RBAC policy'
GET /api/openstack-network-rbac-policies/{uuid}/
- Summary changed from '' to 'Get network RBAC policy details'
- Description changed from '' to 'Retrieve details of a specific network RBAC policy.'
GET /api/openstack-networks/
- Summary changed from '' to 'List networks'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of networks.'
HEAD /api/openstack-networks/
- Summary changed from '' to 'List networks'
DELETE /api/openstack-networks/{uuid}/
- Summary changed from '' to 'Delete network'
- Description changed from '' to 'Delete a network.'
GET /api/openstack-networks/{uuid}/
- Summary changed from '' to 'Get network details'
- Description changed from '' to 'Retrieve details of a specific network.'
PATCH /api/openstack-networks/{uuid}/
- Summary changed from '' to 'Partially update network'
- Description changed from '' to 'Update specific fields of a network.'
PUT /api/openstack-networks/{uuid}/
- Summary changed from '' to 'Update network'
- Description changed from '' to 'Update an existing network.'
POST /api/openstack-networks/{uuid}/create_subnet/
- Summary changed from '' to 'Create subnet'
- Description changed from '' to 'Create a new subnet within the network.'
POST /api/openstack-networks/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/openstack-networks/{uuid}/rbac_policy_create/
- Summary changed from '' to 'Create RBAC policy'
- Description changed from 'Create RBAC policy for the network' to 'Create RBAC policy for the network. DEPRECATED: please use the dedicated /api/openstack-network-rbac-policies/ endpoint.'
- Deprecated changed from false to true
DELETE /api/openstack-networks/{uuid}/rbac_policy_delete/{rbac_policy_uuid}/
- Summary changed from '' to 'Delete RBAC policy'
- Description changed from 'Delete RBAC policy for the network' to 'Delete RBAC policy for the network. DEPRECATED: please use the dedicated /api/openstack-network-rbac-policies/ endpoint.'
- Deprecated changed from false to true
POST /api/openstack-networks/{uuid}/set_mtu/
- Summary changed from '' to 'Set network MTU'
- Description changed from '' to 'Update the Maximum Transmission Unit (MTU) for the network.'
POST /api/openstack-networks/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/openstack-ports/
- Summary changed from '' to 'List ports'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of network ports.'
HEAD /api/openstack-ports/
- Summary changed from '' to 'List ports'
POST /api/openstack-ports/
- Summary changed from '' to 'Create port'
- Description changed from '' to 'Create a new network port.'
DELETE /api/openstack-ports/{uuid}/
- Summary changed from '' to 'Delete port'
- Description changed from '' to 'Delete a network port.'
GET /api/openstack-ports/{uuid}/
- Summary changed from '' to 'Get port details'
- Description changed from '' to 'Retrieve details of a specific network port.'
PATCH /api/openstack-ports/{uuid}/
- Summary changed from '' to 'Partially update port'
- Description changed from '' to 'Update specific fields of a network port.'
PUT /api/openstack-ports/{uuid}/
- Summary changed from '' to 'Update port'
- Description changed from '' to 'Update an existing network port.'
POST /api/openstack-ports/{uuid}/disable_port/
- Summary changed from '' to 'Disable port'
POST /api/openstack-ports/{uuid}/disable_port_security/
- Summary changed from '' to 'Disable port security'
POST /api/openstack-ports/{uuid}/enable_port/
- Summary changed from '' to 'Enable port'
POST /api/openstack-ports/{uuid}/enable_port_security/
- Summary changed from '' to 'Enable port security'
POST /api/openstack-ports/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/openstack-ports/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
POST /api/openstack-ports/{uuid}/update_port_ip/
- Summary changed from '' to 'Update port IP address'
POST /api/openstack-ports/{uuid}/update_security_groups/
- Summary changed from '' to 'Update port security groups'
GET /api/openstack-routers/
- Summary changed from '' to 'List routers'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of routers.'
HEAD /api/openstack-routers/
- Summary changed from '' to 'List routers'
POST /api/openstack-routers/
- Summary changed from '' to 'Create router'
- Description changed from '' to 'Create a new router.'
DELETE /api/openstack-routers/{uuid}/
- Summary changed from '' to 'Delete router'
- Description changed from '' to 'Delete a router.'
GET /api/openstack-routers/{uuid}/
- Summary changed from '' to 'Get router details'
- Description changed from '' to 'Retrieve details of a specific router.'
POST /api/openstack-routers/{uuid}/add_router_interface/
- Summary changed from '' to 'Add router interface'
POST /api/openstack-routers/{uuid}/remove_router_interface/
- Summary changed from '' to 'Remove router interface'
POST /api/openstack-routers/{uuid}/set_routes/
- Summary changed from '' to 'Set static routes'
- Description changed from '' to 'Define or overwrite the static routes for the router.'
GET /api/openstack-security-groups/
- Summary changed from '' to 'List security groups'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of security groups.'
HEAD /api/openstack-security-groups/
- Summary changed from '' to 'List security groups'
DELETE /api/openstack-security-groups/{uuid}/
- Summary changed from '' to 'Delete security group'
- Description changed from '' to 'Delete a security group.'
GET /api/openstack-security-groups/{uuid}/
- Summary changed from '' to 'Get security group details'
- Description changed from '' to 'Retrieve details of a specific security group.'
PATCH /api/openstack-security-groups/{uuid}/
- Summary changed from '' to 'Partially update security group'
- Description changed from '' to 'Update specific fields of a security group.'
POST /api/openstack-security-groups/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/openstack-security-groups/{uuid}/set_rules/
- Summary changed from '' to 'Set security group rules'
- Description changed from 'Update security group rules' to 'Update the rules for a specific security group. This overwrites all existing rules.'
POST /api/openstack-security-groups/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/openstack-server-groups/
- Summary changed from '' to 'List server groups'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of server groups.'
HEAD /api/openstack-server-groups/
- Summary changed from '' to 'List server groups'
DELETE /api/openstack-server-groups/{uuid}/
- Summary changed from '' to 'Delete server group'
- Description changed from '' to 'Delete a server group.'
GET /api/openstack-server-groups/{uuid}/
- Summary changed from '' to 'Get server group details'
- Description changed from '' to 'Retrieve details of a specific server group.'
POST /api/openstack-server-groups/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/openstack-server-groups/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/openstack-snapshots/
- Summary changed from '' to 'List snapshots'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of snapshots.'
HEAD /api/openstack-snapshots/
- Summary changed from '' to 'List snapshots'
DELETE /api/openstack-snapshots/{uuid}/
- Summary changed from '' to 'Delete snapshot'
- Description changed from '' to 'Delete a snapshot.'
GET /api/openstack-snapshots/{uuid}/
- Summary changed from '' to 'Get snapshot details'
- Description changed from '' to 'Retrieve details of a specific snapshot.'
PATCH /api/openstack-snapshots/{uuid}/
- Summary changed from '' to 'Partially update snapshot'
- Description changed from '' to 'Update specific fields of a snapshot.'
PUT /api/openstack-snapshots/{uuid}/
- Summary changed from '' to 'Update snapshot'
- Description changed from '' to 'Update an existing snapshot.'
POST /api/openstack-snapshots/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
GET /api/openstack-snapshots/{uuid}/restorations/
- Summary changed from '' to 'List snapshot restorations'
POST /api/openstack-snapshots/{uuid}/restore/
- Summary changed from '' to 'Restore volume from snapshot'
POST /api/openstack-snapshots/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/openstack-subnets/
- Summary changed from '' to 'List subnets'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of subnets.'
HEAD /api/openstack-subnets/
- Summary changed from '' to 'List subnets'
DELETE /api/openstack-subnets/{uuid}/
- Summary changed from '' to 'Delete subnet'
- Description changed from '' to 'Delete a subnet.'
GET /api/openstack-subnets/{uuid}/
- Summary changed from '' to 'Get subnet details'
- Description changed from '' to 'Retrieve details of a specific subnet.'
PATCH /api/openstack-subnets/{uuid}/
- Summary changed from '' to 'Partially update subnet'
- Description changed from '' to 'Update specific fields of a subnet.'
PUT /api/openstack-subnets/{uuid}/
- Summary changed from '' to 'Update subnet'
- Description changed from '' to 'Update an existing subnet.'
POST /api/openstack-subnets/{uuid}/connect/
- Summary changed from '' to 'Connect subnet to router'
- Description changed from '' to 'Connect the subnet to the default tenant router.'
POST /api/openstack-subnets/{uuid}/disconnect/
- Summary changed from '' to 'Disconnect subnet from router'
- Description changed from '' to 'Disconnect the subnet from the default tenant router.'
POST /api/openstack-subnets/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/openstack-subnets/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/openstack-tenants/
- Summary changed from '' to 'List tenants'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of OpenStack tenants.'
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [security_groups]
HEAD /api/openstack-tenants/
- Summary changed from '' to 'List tenants'
POST /api/openstack-tenants/
- Summary changed from '' to 'Create tenant'
- Description changed from '' to 'Create a new OpenStack tenant.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: security_groups
DELETE /api/openstack-tenants/{uuid}/
- Summary changed from '' to 'Delete tenant'
- Description changed from '' to 'Delete an OpenStack tenant and all its resources.'
GET /api/openstack-tenants/{uuid}/
- Summary changed from '' to 'Get tenant details'
- Description changed from '' to 'Retrieve details of a specific OpenStack tenant.'
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [security_groups]
PATCH /api/openstack-tenants/{uuid}/
- Summary changed from '' to 'Partially update tenant'
- Description changed from '' to 'Update specific fields of an OpenStack tenant.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: security_groups
PUT /api/openstack-tenants/{uuid}/
- Summary changed from '' to 'Update tenant'
- Description changed from '' to 'Update an existing OpenStack tenant.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: security_groups
GET /api/openstack-tenants/{uuid}/backend_instances/
- Summary changed from '' to 'List backend instances'
GET /api/openstack-tenants/{uuid}/backend_volumes/
- Summary changed from '' to 'List backend volumes'
POST /api/openstack-tenants/{uuid}/change_password/
- Summary changed from '' to 'Change tenant user password'
POST /api/openstack-tenants/{uuid}/create_floating_ip/
- Summary changed from '' to 'Create floating IP for tenant'
POST /api/openstack-tenants/{uuid}/create_network/
- Summary changed from '' to 'Create network for tenant'
POST /api/openstack-tenants/{uuid}/create_security_group/
- Summary changed from '' to 'Create security group'
- Description changed from '' to 'Create a security group for the tenant.'
POST /api/openstack-tenants/{uuid}/create_server_group/
- Summary changed from '' to 'Create server group'
- Description changed from '' to 'Create a new server group for the tenant.'
POST /api/openstack-tenants/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/openstack-tenants/{uuid}/pull_floating_ips/
- Summary changed from '' to 'Pull floating IPs'
POST /api/openstack-tenants/{uuid}/pull_quotas/
- Summary changed from '' to 'Pull tenant quotas'
POST /api/openstack-tenants/{uuid}/pull_security_groups/
- Summary changed from '' to 'Pull security groups'
POST /api/openstack-tenants/{uuid}/pull_server_groups/
- Summary changed from '' to 'Pull server groups'
POST /api/openstack-tenants/{uuid}/set_quotas/
- Summary changed from '' to 'Set tenant quotas'
- Description changed from 'A quota can be set for a particular tenant. Only staff users can do that.
In order to set quota submit POST request to /api/openstack-tenants/
/set_quotas/. The quota values are propagated to the backend.
The following quotas are supported. All values are expected to be integers:
- instances - maximal number of created instances.
- ram - maximal size of ram for allocation. In MiB_.
- storage - maximal size of storage for allocation. In MiB_.
- vcpu - maximal number of virtual cores for allocation.
- security_group_count - maximal number of created security groups.
- security_group_rule_count - maximal number of created security groups rules.
- volumes - maximal number of created volumes.
- snapshots - maximal number of created snapshots.
It is possible to update quotas by one or by submitting all the fields in one request. Waldur will attempt to update the provided quotas. Please note, that if provided quotas are conflicting with the backend (e.g. requested number of instances is below of the already existing ones), some quotas might not be applied.
.. _MiB: http://en.wikipedia.org/wiki/Mebibyte
Response code of a successful request is 202 ACCEPTED.
In case tenant is in a non-stable status, the response would be 409 CONFLICT.
In this case REST client is advised to repeat the request after some time.
On successful completion the task will synchronize quotas with the backend.' to 'A quota can be set for a particular tenant. Only staff users can do that.
In order to set quota submit POST request to /api/openstack-tenants/
The following quotas are supported. All values are expected to be integers:
- instances - maximal number of created instances.
- ram - maximal size of ram for allocation. In MiB_.
- storage - maximal size of storage for allocation. In MiB_.
- vcpu - maximal number of virtual cores for allocation.
- security_group_count - maximal number of created security groups.
- security_group_rule_count - maximal number of created security groups rules.
- volumes - maximal number of created volumes.
- snapshots - maximal number of created snapshots.
It is possible to update quotas by one or by submitting all the fields in one request. Waldur will attempt to update the provided quotas. Please note, that if provided quotas are conflicting with the backend (e.g. requested number of instances is below of the already existing ones), some quotas might not be applied.
.. _MiB: http://en.wikipedia.org/wiki/Mebibyte
Response code of a successful request is 202 ACCEPTED. In case tenant is in a non-stable status, the response would be 409 CONFLICT. In this case REST client is advised to repeat the request after some time. On successful completion the task will synchronize quotas with the backend. '
POST /api/openstack-tenants/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/openstack-volume-availability-zones/
- Summary changed from '' to 'List volume availability zones'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of volume availability zones.'
HEAD /api/openstack-volume-availability-zones/
- Summary changed from '' to 'List volume availability zones'
GET /api/openstack-volume-availability-zones/{uuid}/
- Summary changed from '' to 'Get volume availability zone details'
- Description changed from '' to 'Retrieve details of a specific volume availability zone.'
GET /api/openstack-volume-types/
- Summary changed from '' to 'List volume types'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of available volume types.'
HEAD /api/openstack-volume-types/
- Summary changed from '' to 'List volume types'
GET /api/openstack-volume-types/names/
- Summary changed from '' to 'List unique volume type names'
HEAD /api/openstack-volume-types/names/
- Summary changed from '' to 'List unique volume type names'
GET /api/openstack-volume-types/{uuid}/
- Summary changed from '' to 'Get volume type details'
- Description changed from '' to 'Retrieve details of a specific volume type.'
GET /api/openstack-volumes/
- Summary changed from '' to 'List volumes'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of volumes.'
HEAD /api/openstack-volumes/
- Summary changed from '' to 'List volumes'
GET /api/openstack-volumes/{uuid}/
- Summary changed from '' to 'Get volume details'
- Description changed from '' to 'Retrieve details of a specific volume.'
PATCH /api/openstack-volumes/{uuid}/
- Summary changed from '' to 'Partially update volume'
- Description changed from '' to 'Update specific fields of a volume.'
PUT /api/openstack-volumes/{uuid}/
- Summary changed from '' to 'Update volume'
- Description changed from '' to 'Update an existing volume.'
POST /api/openstack-volumes/{uuid}/attach/
- Summary changed from '' to 'Attach volume to instance'
POST /api/openstack-volumes/{uuid}/detach/
- Summary changed from '' to 'Detach volume from instance'
POST /api/openstack-volumes/{uuid}/extend/
- Summary changed from '' to 'Extend volume size'
POST /api/openstack-volumes/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/openstack-volumes/{uuid}/retype/
- Summary changed from '' to 'Change volume type'
POST /api/openstack-volumes/{uuid}/snapshot/
- Summary changed from '' to 'Create volume snapshot'
POST /api/openstack-volumes/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/organization-groups/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/override-settings/
- Summary changed from '' to 'Get all overridable settings'
- Description changed from '' to 'Returns all settings that can be overridden in the database via the Constance backend. Requires admin permissions.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: LLM_CHAT_ENABLED
- New property: LLM_INFERENCES_API_TOKEN
- New property: LLM_INFERENCES_API_URL
- New property: LLM_INFERENCES_BACKEND_TYPE
- New property: LLM_INFERENCES_MODEL
- New property: ONBOARDING_BOLAGSVERKET_API_URL
- New property: ONBOARDING_BOLAGSVERKET_CLIENT_ID
- New property: ONBOARDING_BOLAGSVERKET_CLIENT_SECRET
- New property: ONBOARDING_BOLAGSVERKET_TOKEN_API_URL
- New property: ONBOARDING_COUNTRY
POST /api/override-settings/
- Summary changed from '' to 'Update overridable settings'
- Description changed from '' to 'Updates one or more settings in the database via the Constance backend. Requires admin permissions.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: LLM_CHAT_ENABLED
- New property: LLM_INFERENCES_API_TOKEN
- New property: LLM_INFERENCES_API_URL
- New property: LLM_INFERENCES_BACKEND_TYPE
- New property: LLM_INFERENCES_MODEL
- New property: ONBOARDING_BOLAGSVERKET_API_URL
- New property: ONBOARDING_BOLAGSVERKET_CLIENT_ID
- New property: ONBOARDING_BOLAGSVERKET_CLIENT_SECRET
- New property: ONBOARDING_BOLAGSVERKET_TOKEN_API_URL
- New property: ONBOARDING_COUNTRY
- Examples changed
- New example: EnableMarketplaceAndSetACustomTitle
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: LLM_CHAT_ENABLED
- New property: LLM_INFERENCES_API_TOKEN
- New property: LLM_INFERENCES_API_URL
- New property: LLM_INFERENCES_BACKEND_TYPE
- New property: LLM_INFERENCES_MODEL
- New property: ONBOARDING_BOLAGSVERKET_API_URL
- New property: ONBOARDING_BOLAGSVERKET_CLIENT_ID
- New property: ONBOARDING_BOLAGSVERKET_CLIENT_SECRET
- New property: ONBOARDING_BOLAGSVERKET_TOKEN_API_URL
- New property: ONBOARDING_COUNTRY
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: LLM_CHAT_ENABLED
- New property: LLM_INFERENCES_API_TOKEN
- New property: LLM_INFERENCES_API_URL
- New property: LLM_INFERENCES_BACKEND_TYPE
- New property: LLM_INFERENCES_MODEL
- New property: ONBOARDING_BOLAGSVERKET_API_URL
- New property: ONBOARDING_BOLAGSVERKET_CLIENT_ID
- New property: ONBOARDING_BOLAGSVERKET_CLIENT_SECRET
- New property: ONBOARDING_BOLAGSVERKET_TOKEN_API_URL
- New property: ONBOARDING_COUNTRY
GET /api/payment-profiles/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/payments/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/project-credits/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/project-permissions-reviews/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/project-permissions-reviews/{uuid}/close/
- Summary changed from '' to 'Close project permission review'
GET /api/project-types/
- Summary changed from '' to 'List project types'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Retrieve a list of available project types.'
HEAD /api/project-types/
- Summary changed from '' to 'List project types'
GET /api/project-types/{uuid}/
- Summary changed from '' to 'Retrieve project type details'
- Description changed from '' to 'Fetch details of a specific project type by its UUID.'
GET /api/projects/
- Summary changed from '' to 'List projects'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Retrieve a list of projects. The list is filtered based on the user's permissions. By default, only active projects are shown.'
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [grace_period_days]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: grace_period_days
HEAD /api/projects/
- Summary changed from '' to 'List projects'
POST /api/projects/
- Summary changed from '' to 'Create a new project'
- Description changed from 'A new project can be created by users with staff privilege (is_staff=True) or customer owners. Project resource quota is optional.' to 'A new project can be created by users with staff privilege (is_staff=True) or customer owners. Project resource quota is optional.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: grace_period_days
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: grace_period_days
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
GET /api/projects/checklist-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: always_requires_review
- New property: always_show_guidance
- New property: dependency_logic_operator
- New property: guidance_answer_value
- New property: guidance_operator
- New property: max_file_size_mb
- New property: max_files_count
- New property: max_value
- New property: min_value
- New property: operator
- New property: order
- New property: question_type
- New property: review_answer_value
- Modified property: questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: always_requires_review
- New property: always_show_guidance
- New property: dependency_logic_operator
- New property: guidance_answer_value
- New property: guidance_operator
- New property: max_file_size_mb
- New property: max_files_count
- New property: max_value
- New property: min_value
- New property: operator
- New property: order
- New property: question_type
- New property: review_answer_value
DELETE /api/projects/{uuid}/
- Summary changed from '' to 'Delete a project'
- Description changed from 'If a project has connected instances, deletion request will fail with 409 response code.' to 'Delete a project. If the project has any active resources, the deletion request will fail with a 409 Conflict response. This action performs a soft-delete, and the project can be recovered later.'
GET /api/projects/{uuid}/
- Summary changed from '' to 'Retrieve project details'
- Description changed from '' to 'Fetch the details of a specific project by its UUID. Users can access details of terminated projects they previously had access to.'
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [grace_period_days]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
PATCH /api/projects/{uuid}/
- Summary changed from '' to 'Partially update project details'
- Description changed from '' to 'Partially update the details of a project. Requires project administrator or customer owner permissions.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: grace_period_days
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: grace_period_days
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
PUT /api/projects/{uuid}/
- Summary changed from '' to 'Update project details'
- Description changed from '' to 'Update the details of a project. Requires project administrator or customer owner permissions.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: grace_period_days
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: grace_period_days
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
POST /api/projects/{uuid}/add_user/
- Summary changed from '' to 'Grant a role to a user'
- Description changed from '' to 'Assigns a specific role to a user within the current scope. An optional expiration time for the role can be set.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: GrantProjectAdminRoleUntilEndOfYear
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleGrantResponse
- Modified response: 400
- Description changed from '' to 'Validation error, for example when trying to add a user to a terminated project.'
- Content changed
- Deleted media type: application/json
GET /api/projects/{uuid}/checklist/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: allowed_file_types
- New required property: allowed_mime_types
- New required property: max_file_size_mb
- New required property: max_files_count
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
POST /api/projects/{uuid}/delete_user/
- Summary changed from '' to 'Revoke a role from a user'
- Description changed from '' to 'Removes a specific role from a user within the current scope. This effectively revokes their permissions associated with that role.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: RevokeProjectAdminRoleFromUser
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to 'Role revoked successfully.'
GET /api/projects/{uuid}/list_users/
- Summary changed from '' to 'List users and their roles in a scope'
- Description changed from '' to 'Retrieves a list of users who have a role within a specific scope (e.g., a project or an organization). The list can be filtered by user details or role.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExampleUserRoleListResponse
POST /api/projects/{uuid}/move_project/
- Summary changed from '' to 'Move project to another customer'
- Description changed from '' to 'Moves a project and its associated resources to a different customer. This is a staff-only action. You can choose whether to preserve existing project permissions for users.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
POST /api/projects/{uuid}/recover/
- Summary changed from '' to 'Recover a soft-deleted project'
- Description changed from 'Recover a soft-deleted project with team member restoration' to 'Recovers a soft-deleted (terminated) project, making it active again. Provides options to restore previous team members automatically (staff-only) or send them new invitations.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: grace_period_days
GET /api/projects/{uuid}/stats/
- Summary changed from '' to 'Get project resource usage statistics'
- Description changed from 'Return statistics about project resources usage' to 'Provides statistics about the resource usage (e.g., CPU, RAM, storage) for all resources within a project. Can be filtered to show usage for the current month only.'
- Modified query param: for_current_month
- Description changed from '' to 'If true, returns usage data for the current month only. Otherwise, returns total usage.'
POST /api/projects/{uuid}/update_user/
- Summary changed from '' to 'Update a user's role expiration'
- Description changed from '' to 'Updates the expiration time for a user's existing role in the current scope. This is useful for extending or shortening the duration of a permission. To make a role permanent, set expiration_time to null.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExtendRoleUntilMid-2025
- New example: MakeARolePermanent
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleUpdateResponse
GET /api/promotions-campaigns/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/promotions-campaigns/{uuid}/orders/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [slug]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: slug
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: slug
GET /api/proposal-proposals/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/proposal-proposals/checklist-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: always_requires_review
- New property: always_show_guidance
- New property: dependency_logic_operator
- New property: guidance_answer_value
- New property: guidance_operator
- New property: max_file_size_mb
- New property: max_files_count
- New property: max_value
- New property: min_value
- New property: operator
- New property: order
- New property: question_type
- New property: review_answer_value
- Modified property: questions
- Items changed
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: always_requires_review
- New property: always_show_guidance
- New property: dependency_logic_operator
- New property: guidance_answer_value
- New property: guidance_operator
- New property: max_file_size_mb
- New property: max_files_count
- New property: max_value
- New property: min_value
- New property: operator
- New property: order
- New property: question_type
- New property: review_answer_value
POST /api/proposal-proposals/{uuid}/add_user/
- Summary changed from '' to 'Grant a role to a user'
- Description changed from '' to 'Assigns a specific role to a user within the current scope. An optional expiration time for the role can be set.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: GrantProjectAdminRoleUntilEndOfYear
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleGrantResponse
- Modified response: 400
- Description changed from '' to 'Validation error, for example when trying to add a user to a terminated project.'
- Content changed
- Deleted media type: application/json
GET /api/proposal-proposals/{uuid}/checklist/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: allowed_file_types
- New required property: allowed_mime_types
- New required property: max_file_size_mb
- New required property: max_files_count
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
GET /api/proposal-proposals/{uuid}/checklist_review/
- Extensions changed
- Deleted extension: x-permissions
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: allowed_file_types
- New required property: allowed_mime_types
- New required property: max_file_size_mb
- New required property: max_files_count
- Properties changed
- New property: allowed_file_types
- New property: allowed_mime_types
- New property: max_file_size_mb
- New property: max_files_count
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [multiple_files]
GET /api/proposal-proposals/{uuid}/completion_review_status/
- Extensions changed
- Deleted extension: x-permissions
POST /api/proposal-proposals/{uuid}/delete_user/
- Summary changed from '' to 'Revoke a role from a user'
- Description changed from '' to 'Removes a specific role from a user within the current scope. This effectively revokes their permissions associated with that role.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: RevokeProjectAdminRoleFromUser
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to 'Role revoked successfully.'
GET /api/proposal-proposals/{uuid}/list_users/
- Summary changed from '' to 'List users and their roles in a scope'
- Description changed from '' to 'Retrieves a list of users who have a role within a specific scope (e.g., a project or an organization). The list can be filtered by user details or role.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExampleUserRoleListResponse
POST /api/proposal-proposals/{uuid}/update_user/
- Summary changed from '' to 'Update a user's role expiration'
- Description changed from '' to 'Updates the expiration time for a user's existing role in the current scope. This is useful for extending or shortening the duration of a permission. To make a role permanent, set expiration_time to null.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExtendRoleUntilMid-2025
- New example: MakeARolePermanent
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleUpdateResponse
GET /api/proposal-protected-calls/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/proposal-protected-calls/{uuid}/add_user/
- Summary changed from '' to 'Grant a role to a user'
- Description changed from '' to 'Assigns a specific role to a user within the current scope. An optional expiration time for the role can be set.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: GrantProjectAdminRoleUntilEndOfYear
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleGrantResponse
- Modified response: 400
- Description changed from '' to 'Validation error, for example when trying to add a user to a terminated project.'
- Content changed
- Deleted media type: application/json
POST /api/proposal-protected-calls/{uuid}/delete_user/
- Summary changed from '' to 'Revoke a role from a user'
- Description changed from '' to 'Removes a specific role from a user within the current scope. This effectively revokes their permissions associated with that role.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: RevokeProjectAdminRoleFromUser
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to 'Role revoked successfully.'
GET /api/proposal-protected-calls/{uuid}/list_users/
- Summary changed from '' to 'List users and their roles in a scope'
- Description changed from '' to 'Retrieves a list of users who have a role within a specific scope (e.g., a project or an organization). The list can be filtered by user details or role.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExampleUserRoleListResponse
POST /api/proposal-protected-calls/{uuid}/update_user/
- Summary changed from '' to 'Update a user's role expiration'
- Description changed from '' to 'Updates the expiration time for a user's existing role in the current scope. This is useful for extending or shortening the duration of a permission. To make a role permanent, set expiration_time to null.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExtendRoleUntilMid-2025
- New example: MakeARolePermanent
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleUpdateResponse
GET /api/proposal-public-calls/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/proposal-requested-offerings/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/proposal-requested-resources/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/proposal-reviews/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/provider-invoice-items/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/public-maintenance-announcements/
- Summary changed from '' to 'List public maintenance announcements'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Returns a paginated list of public maintenance announcements. Only announcements that are 'Scheduled', 'In progress', or 'Completed' are visible. This endpoint is accessible to unauthenticated users.'
HEAD /api/public-maintenance-announcements/
- Summary changed from '' to 'List public maintenance announcements'
GET /api/public-maintenance-announcements/{uuid}/
- Summary changed from '' to 'Retrieve a public maintenance announcement'
- Description changed from '' to 'Returns the details of a specific public maintenance announcement.'
POST /api/query/
- Summary changed from '' to 'Execute read-only SQL query'
- Description changed from 'Execute SQL query against readonly database' to 'Execute a given SQL query against a read-only database replica. This is a powerful tool for diagnostics and reporting, but should be used with caution. Requires support user permissions.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ListAllCustomers
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulResponse
GET /api/rancher-apps/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/rancher-apps/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/rancher-apps/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/rancher-catalogs/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/rancher-cluster-security-groups/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/rancher-cluster-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/rancher-clusters/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/rancher-clusters/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/rancher-clusters/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/rancher-hpas/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/rancher-hpas/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/rancher-hpas/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/rancher-ingresses/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/rancher-ingresses/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/rancher-ingresses/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/rancher-namespaces/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/rancher-nodes/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/rancher-nodes/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/rancher-nodes/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/rancher-projects/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/rancher-role-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/rancher-services/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/rancher-services/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/rancher-services/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/rancher-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/rancher-users/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/rancher-workloads/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/roles/
- Summary changed from '' to 'List roles'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of all available roles.'
HEAD /api/roles/
- Summary changed from '' to 'List roles'
POST /api/roles/
- Summary changed from '' to 'Create a new role'
- Description changed from '' to 'Allows staff users to create a new custom role with a specific set of permissions.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: CreateAProject-levelReviewerRole
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleCreationResponse
DELETE /api/roles/{uuid}/
- Summary changed from '' to 'Delete a role'
- Description changed from '' to 'Allows staff users to delete a custom role. System roles and roles that are currently in use cannot be deleted.'
GET /api/roles/{uuid}/
- Summary changed from '' to 'Get role details'
- Description changed from '' to 'Retrieve the details of a specific role by its UUID.'
PUT /api/roles/{uuid}/
- Summary changed from '' to 'Update a role'
- Description changed from '' to 'Allows staff users to update an existing role's name, description, content type, and permissions. The name of a system role cannot be changed.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: AddAPermissionToARole
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: SuccessfulRoleUpdateResponse
POST /api/roles/{uuid}/disable/
- Summary changed from '' to 'Disable a role'
- Description changed from '' to 'Allows staff users to disable a role, preventing it from being assigned further. Existing assignments are not affected.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to 'Role disabled successfully.'
POST /api/roles/{uuid}/enable/
- Summary changed from '' to 'Enable a role'
- Description changed from '' to 'Allows staff users to enable a role, making it available for assignment.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to 'Role enabled successfully.'
PUT /api/roles/{uuid}/update_descriptions/
- Summary changed from '' to 'Update role descriptions'
- Description changed from '' to 'Allows staff users to update the multilingual descriptions of a role.'
- Request body changed
- Content changed
- Modified media type: application/json
- Examples changed
- New example: UpdateEnglishAndEstonianDescriptions
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: UpdateEnglishAndEstonianDescriptions
GET /api/service-settings/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/slurm-allocation-user-usage/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/slurm-allocations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/slurm-allocations/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/slurm-allocations/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/slurm-associations/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/slurm-jobs/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/slurm-jobs/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/slurm-jobs/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/support-attachments/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/support-comments/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/support-feedbacks/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/support-issue-statuses/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/support-issues/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/support-priorities/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/support-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/support-users/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/user-agreements/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/user-group-invitations/
- Summary changed from '' to 'List group invitations'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Retrieve a list of group invitations. Unauthenticated users can only see public invitations.'
HEAD /api/user-group-invitations/
- Summary changed from '' to 'List group invitations'
POST /api/user-group-invitations/
- Summary changed from '' to 'Create group invitation'
- Description changed from '' to 'Create a new group invitation, which acts as a template for users to request permissions.'
GET /api/user-group-invitations/{uuid}/
- Summary changed from '' to 'Retrieve group invitation'
- Description changed from '' to 'Retrieve details of a specific group invitation. Unauthenticated users can only see public invitations.'
POST /api/user-group-invitations/{uuid}/cancel/
- Summary changed from '' to 'Cancel a group invitation'
- Description changed from 'Cancel group invitation' to 'Cancels an active group invitation, preventing new permission requests from being created.'
GET /api/user-group-invitations/{uuid}/projects/
- Summary changed from '' to 'List projects for a customer-scoped group invitation'
- Description changed from 'Return projects for group invitation' to 'For a group invitation scoped to a customer, this endpoint lists all projects within that customer.'
POST /api/user-group-invitations/{uuid}/submit_request/
- Summary changed from '' to 'Submit a permission request'
- Description changed from '' to 'Creates a permission request based on a group invitation for the currently authenticated user.'
GET /api/user-invitations/
- Summary changed from '' to 'List user invitations'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Retrieve a list of user invitations visible to the current user.'
HEAD /api/user-invitations/
- Summary changed from '' to 'List user invitations'
POST /api/user-invitations/
- Summary changed from '' to 'Create user invitation'
- Description changed from '' to 'Create a new user invitation to grant a role in a specific scope (e.g., organization or project).'
POST /api/user-invitations/approve/
- Summary changed from '' to 'Approve a requested invitation'
- Description changed from 'For user's convenience invitation approval is performed without authentication. User UUID and invitation UUID is encoded into cryptographically signed token.' to ' For user's convenience invitation approval is performed without authentication. User UUID and invitation UUID is encoded into cryptographically signed token. '
POST /api/user-invitations/reject/
- Summary changed from '' to 'Reject a requested invitation'
- Description changed from 'For user's convenience invitation reject action is performed without authentication. User UUID and invitation UUID is encoded into cryptographically signed token.' to ' For user's convenience invitation reject action is performed without authentication. User UUID and invitation UUID is encoded into cryptographically signed token. '
GET /api/user-invitations/{uuid}/
- Summary changed from '' to 'Retrieve user invitation'
- Description changed from '' to 'Retrieve details of a specific user invitation.'
POST /api/user-invitations/{uuid}/accept/
- Summary changed from '' to 'Accept an invitation'
- Description changed from 'Accept invitation for current user.' to 'Accepts an invitation for the currently authenticated user. This grants the user the specified role in the invitation's scope.'
POST /api/user-invitations/{uuid}/cancel/
- Summary changed from '' to 'Cancel an invitation'
- Description changed from '' to 'Cancels a pending or planned (pending_project) invitation.'
- Responses changed
- Modified response: 200
- Description changed from 'No response body' to ''
- Content changed
- New media type: application/json
POST /api/user-invitations/{uuid}/check/
- Summary changed from '' to 'Check invitation validity'
- Description changed from '' to 'Checks if an invitation is pending and returns its email and whether a civil number is required for acceptance. This endpoint is public and does not require authentication.'
POST /api/user-invitations/{uuid}/delete/
- Summary changed from '' to 'Delete an invitation (staff only)'
- Description changed from '' to 'Deletes an invitation. This action is restricted to staff users.'
GET /api/user-invitations/{uuid}/details/
- Summary changed from '' to 'Get public invitation details'
- Description changed from '' to 'Retrieves public-facing details of an invitation. This is used to show information to a user before they accept it.'
POST /api/user-invitations/{uuid}/send/
- Summary changed from '' to 'Resend an invitation'
- Description changed from '' to 'Resends an email for a pending, expired, or canceled invitation. If the invitation was expired or canceled, its state is reset to 'pending' and its creation time is updated.'
GET /api/user-permission-requests/
- Summary changed from '' to 'List permission requests'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Retrieve a list of permission requests visible to the user.'
HEAD /api/user-permission-requests/
- Summary changed from '' to 'List permission requests'
GET /api/user-permission-requests/{uuid}/
- Summary changed from '' to 'Retrieve permission request'
- Description changed from '' to 'Retrieve details of a specific permission request.'
POST /api/user-permission-requests/{uuid}/approve/
- Summary changed from '' to 'Approve a permission request'
- Description changed from '' to 'Approves a pending permission request, granting the requesting user the permissions defined in the associated group invitation.'
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
POST /api/user-permission-requests/{uuid}/cancel_request/
- Summary changed from '' to 'Cancel a permission request'
- Description changed from 'Cancel permission request. Users can cancel their own requests, staff can cancel any request.' to 'Cancels a pending or draft permission request. This can be done by the user who created the request or by a staff member.'
POST /api/user-permission-requests/{uuid}/reject/
- Summary changed from '' to 'Reject a permission request'
- Description changed from '' to 'Rejects a pending permission request.'
- Responses changed
- Modified response: 200
- Description changed from '' to 'No response body'
- Content changed
- Deleted media type: application/json
GET /api/user-permissions/
- Summary changed from '' to 'List user permissions'
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to 'Get a list of all permissions for the current user. Staff and support users can view all user permissions. The list can be filtered by user, scope, role, etc.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExampleUserPermissionListResponse
HEAD /api/user-permissions/
- Summary changed from '' to 'List user permissions'
GET /api/user-permissions/{uuid}/
- Summary changed from '' to 'Get permission details'
- Description changed from '' to 'Retrieve the details of a specific user permission grant by its UUID.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Examples changed
- New example: ExampleUserPermissionDetailResponse
GET /api/users/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/users/confirm_email/
- Summary changed from '' to 'Confirm email change'
GET /api/users/me/
- Summary changed from '' to 'Get current user details'
HEAD /api/users/me/
- Summary changed from '' to 'Get current user details'
POST /api/users/{uuid}/cancel_change_email/
- Summary changed from '' to 'Cancel email change request'
POST /api/users/{uuid}/change_email/
- Summary changed from '' to 'Request email change'
POST /api/users/{uuid}/change_password/
- Summary changed from '' to 'Change user password'
POST /api/users/{uuid}/pull_remote_user/
- Summary changed from '' to 'Synchronize user details from eduTEAMS'
- Description changed from 'Pulls remote user data from eduTEAMS.' to ''
POST /api/users/{uuid}/refresh_token/
- Summary changed from '' to 'Refresh user auth token'
- Description changed from 'Allows to refresh user auth token.' to ''
GET /api/users/{uuid}/token/
- Summary changed from '' to 'Get user auth token'
GET /api/version/
- Summary changed from '' to 'Get application version'
- Description changed from 'Retrieve current version of the application and the latest available version from GitHub (if available).' to 'Retrieves the current installed version of the application and the latest available version from GitHub (if available). Requires staff or support user permissions.'
GET /api/vmware-clusters/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/vmware-datastores/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/vmware-disks/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/vmware-disks/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/vmware-disks/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/vmware-folders/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/vmware-networks/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/vmware-ports/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/vmware-ports/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/vmware-ports/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
GET /api/vmware-templates/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
GET /api/vmware-virtual-machine/
- Description changed from 'Mixin to optimize HEAD requests for DRF views bypassing serializer processing' to ''
POST /api/vmware-virtual-machine/{uuid}/pull/
- Summary changed from '' to 'Synchronize resource state'
- Description changed from '' to 'Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.'
- Responses changed
- New response: 202
- New response: 409
- Deleted response: 200
POST /api/vmware-virtual-machine/{uuid}/unlink/
- Summary changed from '' to 'Unlink resource'
- Description changed from 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.' to 'Delete resource from the database without scheduling operations on backend and without checking current state of the resource. It is intended to be used for removing resource stuck in transitioning state.'
- Responses changed
- New response: 204
- Deleted response: 200
OpenAPI schema diff - 7.8.9
For version 7.8.9
No endpoint changes, but there are some other changes
OpenAPI schema diff - 7.9.0
For version 7.9.0
New Endpoints: 3
POST /api/marketplace-provider-offerings/{uuid}/check_unique_backend_id/
GET /api/proposal-protected-calls/available_compliance_checklists/
HEAD /api/proposal-protected-calls/available_compliance_checklists/
Deleted Endpoints: None
Modified Endpoints: 5
GET /api/invoice-items/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: offering_component_type
- New required property: offering_uuid
- Properties changed
- New property: offering_component_type
- New property: offering_uuid
GET /api/invoice-items/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: offering_component_type
- New required property: offering_uuid
- Properties changed
- New property: offering_component_type
- New property: offering_uuid
GET /api/invoice-items/{uuid}/consumptions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: offering_component_type
- New required property: offering_uuid
- Properties changed
- New property: offering_component_type
- New property: offering_uuid
POST /api/marketplace-component-usages/set_usage/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: date
POST /api/marketplace-component-usages/{uuid}/set_user_usage/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: date
OpenAPI schema diff - 7.9.1
For version 7.9.1
New Endpoints: None
Deleted Endpoints: None
Modified Endpoints: 225
GET /api/access-subnets/
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: inet
- Description changed from '' to 'Inet'
HEAD /api/access-subnets/
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: inet
- Description changed from '' to 'Inet'
GET /api/aws-images/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
HEAD /api/aws-images/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
GET /api/aws-instances/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/aws-instances/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/aws-regions/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
HEAD /api/aws-regions/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
GET /api/aws-sizes/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
HEAD /api/aws-sizes/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
GET /api/azure-images/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/azure-images/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/azure-locations/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/azure-locations/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/azure-public-ips/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/azure-public-ips/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/azure-sizes/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/azure-sizes/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/azure-sql-databases/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/azure-sql-databases/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/azure-sql-servers/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/azure-sql-servers/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/azure-virtualmachines/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/azure-virtualmachines/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/backend-resource-requests/
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: state
- Description changed from '' to 'Backend resource request state
'
HEAD /api/backend-resource-requests/
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: state
- Description changed from '' to 'Backend resource request state
'
GET /api/backend-resources/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
HEAD /api/backend-resources/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
GET /api/booking-resources/
- New query param: exclude_pending_transitional
- New query param: order_state
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: downscaled
- Description changed from '' to 'Downscaled'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: offering_billable
- Description changed from '' to 'Offering billable'
- Modified query param: offering_type
- Description changed from '' to 'Offering type'
- Modified query param: paused
- Description changed from '' to 'Paused'
- Modified query param: plan_uuid
- Description changed from '' to 'Plan UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: provider_uuid
- Description changed from '' to 'Provider UUID'
- Modified query param: restrict_member_access
- Description changed from '' to 'Restrict member access'
- Modified query param: service_manager_uuid
- Description changed from 'Service Manager UUID' to 'Service manager UUID'
- Modified query param: state
- Description changed from '' to 'Resource state
'
HEAD /api/booking-resources/
- New query param: exclude_pending_transitional
- New query param: order_state
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: downscaled
- Description changed from '' to 'Downscaled'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: offering_billable
- Description changed from '' to 'Offering billable'
- Modified query param: offering_type
- Description changed from '' to 'Offering type'
- Modified query param: paused
- Description changed from '' to 'Paused'
- Modified query param: plan_uuid
- Description changed from '' to 'Plan UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: provider_uuid
- Description changed from '' to 'Provider UUID'
- Modified query param: restrict_member_access
- Description changed from '' to 'Restrict member access'
- Modified query param: service_manager_uuid
- Description changed from 'Service Manager UUID' to 'Service manager UUID'
- Modified query param: state
- Description changed from '' to 'Resource state
'
GET /api/component-user-usage-limits/
- Modified query param: component_type
- Description changed from '' to 'Component type'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: resource_uuid
- Description changed from '' to 'Resource UUID'
- Modified query param: username
- Description changed from '' to 'Username'
HEAD /api/component-user-usage-limits/
- Modified query param: component_type
- Description changed from '' to 'Component type'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: resource_uuid
- Description changed from '' to 'Resource UUID'
- Modified query param: username
- Description changed from '' to 'Username'
GET /api/customers/
- Modified query param: abbreviation
- Description changed from '' to 'Abbreviation'
- Modified query param: contact_details
- Description changed from '' to 'Contact details'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization_group_name
- Description changed from '' to 'Organization group name'
- Modified query param: organization_group_uuid
- Description changed from 'organization_group_uuid' to 'Organization group UUID'
HEAD /api/customers/
- Modified query param: abbreviation
- Description changed from '' to 'Abbreviation'
- Modified query param: contact_details
- Description changed from '' to 'Contact details'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization_group_name
- Description changed from '' to 'Organization group name'
- Modified query param: organization_group_uuid
- Description changed from 'organization_group_uuid' to 'Organization group UUID'
GET /api/customers/countries/
- Modified query param: abbreviation
- Description changed from '' to 'Abbreviation'
- Modified query param: contact_details
- Description changed from '' to 'Contact details'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization_group_name
- Description changed from '' to 'Organization group name'
- Modified query param: organization_group_uuid
- Description changed from 'organization_group_uuid' to 'Organization group UUID'
HEAD /api/customers/countries/
- Modified query param: abbreviation
- Description changed from '' to 'Abbreviation'
- Modified query param: contact_details
- Description changed from '' to 'Contact details'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization_group_name
- Description changed from '' to 'Organization group name'
- Modified query param: organization_group_uuid
- Description changed from 'organization_group_uuid' to 'Organization group UUID'
GET /api/customers/{customer_uuid}/users/
- Modified query param: email
- Description changed from '' to 'Email'
- Modified query param: is_active
- Description changed from '' to 'Is active'
- Modified query param: job_title
- Description changed from '' to 'Job title'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization
- Description changed from '' to 'Organization'
- Modified query param: username
- Description changed from '' to 'Username'
GET /api/digitalocean-droplets/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/digitalocean-droplets/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/digitalocean-images/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
HEAD /api/digitalocean-images/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
GET /api/digitalocean-regions/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
HEAD /api/digitalocean-regions/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
GET /api/digitalocean-sizes/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
HEAD /api/digitalocean-sizes/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
GET /api/financial-reports/
- Modified query param: abbreviation
- Description changed from '' to 'Abbreviation'
- Modified query param: contact_details
- Description changed from '' to 'Contact details'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization_group_name
- Description changed from '' to 'Organization group name'
- Modified query param: organization_group_uuid
- Description changed from 'organization_group_uuid' to 'Organization group UUID'
HEAD /api/financial-reports/
- Modified query param: abbreviation
- Description changed from '' to 'Abbreviation'
- Modified query param: contact_details
- Description changed from '' to 'Contact details'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization_group_name
- Description changed from '' to 'Organization group name'
- Modified query param: organization_group_uuid
- Description changed from 'organization_group_uuid' to 'Organization group UUID'
GET /api/keys/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: user_uuid
- Description changed from '' to 'User UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/keys/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: user_uuid
- Description changed from '' to 'User UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/maintenance-announcement-template-offerings/
- Modified query param: impact_level
- Description changed from '' to 'Impact level'
- Modified query param: maintenance_template_uuid
- Description changed from '' to 'Maintenance template UUID'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: service_provider_uuid
- Description changed from '' to 'Service provider UUID'
HEAD /api/maintenance-announcement-template-offerings/
- Modified query param: impact_level
- Description changed from '' to 'Impact level'
- Modified query param: maintenance_template_uuid
- Description changed from '' to 'Maintenance template UUID'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: service_provider_uuid
- Description changed from '' to 'Service provider UUID'
GET /api/maintenance-announcements-template/
- Modified query param: maintenance_type
- Description changed from '' to 'Maintenance type'
- Modified query param: service_provider_uuid
- Description changed from '' to 'Service provider UUID'
HEAD /api/maintenance-announcements-template/
- Modified query param: maintenance_type
- Description changed from '' to 'Maintenance type'
- Modified query param: service_provider_uuid
- Description changed from '' to 'Service provider UUID'
GET /api/maintenance-announcements/
- Modified query param: maintenance_type
- Description changed from '' to 'Maintenance type'
- Modified query param: scheduled_end_after
- Description changed from '' to 'Scheduled end after'
- Modified query param: scheduled_end_before
- Description changed from '' to 'Scheduled end before'
- Modified query param: scheduled_start_after
- Description changed from '' to 'Scheduled start after'
- Modified query param: scheduled_start_before
- Description changed from '' to 'Scheduled start before'
- Modified query param: service_provider_uuid
- Description changed from '' to 'Service provider UUID'
- Modified query param: state
- Description changed from '' to 'Maintenance state
'
HEAD /api/maintenance-announcements/
- Modified query param: maintenance_type
- Description changed from '' to 'Maintenance type'
- Modified query param: scheduled_end_after
- Description changed from '' to 'Scheduled end after'
- Modified query param: scheduled_end_before
- Description changed from '' to 'Scheduled end before'
- Modified query param: scheduled_start_after
- Description changed from '' to 'Scheduled start after'
- Modified query param: scheduled_start_before
- Description changed from '' to 'Scheduled start before'
- Modified query param: service_provider_uuid
- Description changed from '' to 'Service provider UUID'
- Modified query param: state
- Description changed from '' to 'Maintenance state
'
GET /api/marketplace-categories/
- Modified query param: group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: offering_name
- Description changed from '' to 'Offering name contains'
- Modified query param: resource_customer_uuid
- Description changed from '' to 'Resource customer UUID'
- Modified query param: resource_project_uuid
- Description changed from '' to 'Resource project UUID'
- Modified query param: title
- Description changed from '' to 'Title contains'
HEAD /api/marketplace-categories/
- Modified query param: group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: offering_name
- Description changed from '' to 'Offering name contains'
- Modified query param: resource_customer_uuid
- Description changed from '' to 'Resource customer UUID'
- Modified query param: resource_project_uuid
- Description changed from '' to 'Resource project UUID'
- Modified query param: title
- Description changed from '' to 'Title contains'
GET /api/marketplace-category-columns/
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: title
- Description changed from '' to 'Title contains'
HEAD /api/marketplace-category-columns/
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: title
- Description changed from '' to 'Title contains'
GET /api/marketplace-category-component-usages/
- Modified query param: date_after
- Description changed from '' to 'Date after or equal to'
- Modified query param: date_before
- Description changed from '' to 'Date before or equal to'
HEAD /api/marketplace-category-component-usages/
- Modified query param: date_after
- Description changed from '' to 'Date after or equal to'
- Modified query param: date_before
- Description changed from '' to 'Date before or equal to'
GET /api/marketplace-component-usages/
- Modified query param: billing_period_month
- Description changed from '' to 'Billing period month'
- Modified query param: billing_period_year
- Description changed from '' to 'Billing period year'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: date_after
- Description changed from '' to 'Date after or equal to'
- Modified query param: date_before
- Description changed from '' to 'Date before or equal to'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: resource
- Description changed from '' to 'Resource URL'
- Modified query param: resource_uuid
- Description changed from '' to 'Resource UUID'
- Modified query param: type
- Description changed from '' to 'Component type'
HEAD /api/marketplace-component-usages/
- Modified query param: billing_period_month
- Description changed from '' to 'Billing period month'
- Modified query param: billing_period_year
- Description changed from '' to 'Billing period year'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: date_after
- Description changed from '' to 'Date after or equal to'
- Modified query param: date_before
- Description changed from '' to 'Date before or equal to'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: resource
- Description changed from '' to 'Resource URL'
- Modified query param: resource_uuid
- Description changed from '' to 'Resource UUID'
- Modified query param: type
- Description changed from '' to 'Component type'
GET /api/marketplace-component-user-usages/
- Modified query param: billing_period_month
- Description changed from '' to 'Billing period month'
- Modified query param: billing_period_year
- Description changed from '' to 'Billing period year'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: date_after
- Description changed from '' to 'Date after or equal to'
- Modified query param: date_before
- Description changed from '' to 'Date before or equal .google/docsto'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: resource_uuid
- Description changed from '' to 'Resource UUID'
- Modified query param: type
- Description changed from '' to 'Component type'
- Modified query param: username
- Description changed from '' to 'Username contains'
HEAD /api/marketplace-component-user-usages/
- Modified query param: billing_period_month
- Description changed from '' to 'Billing period month'
- Modified query param: billing_period_year
- Description changed from '' to 'Billing period year'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: date_after
- Description changed from '' to 'Date after or equal to'
- Modified query param: date_before
- Description changed from '' to 'Date before or equal .google/docsto'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: resource_uuid
- Description changed from '' to 'Resource UUID'
- Modified query param: type
- Description changed from '' to 'Component type'
- Modified query param: username
- Description changed from '' to 'Username contains'
GET /api/marketplace-course-accounts/
- Modified query param: email
- Description changed from '' to 'Email contains'
- Modified query param: project_end_date_after
- Description changed from '' to 'Project end date range'
- Modified query param: project_end_date_before
- Description changed from '' to 'Project end date range'
- Modified query param: project_start_date_after
- Description changed from '' to 'Project start date range'
- Modified query param: project_start_date_before
- Description changed from '' to 'Project start date range'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: state
- Description changed from '' to 'Course account state
'
- Modified query param: username
- Description changed from '' to 'Username'
HEAD /api/marketplace-course-accounts/
- Modified query param: email
- Description changed from '' to 'Email contains'
- Modified query param: project_end_date_after
- Description changed from '' to 'Project end date range'
- Modified query param: project_end_date_before
- Description changed from '' to 'Project end date range'
- Modified query param: project_start_date_after
- Description changed from '' to 'Project start date range'
- Modified query param: project_start_date_before
- Description changed from '' to 'Project start date range'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: state
- Description changed from '' to 'Course account state
'
- Modified query param: username
- Description changed from '' to 'Username'
POST /api/marketplace-course-accounts/create_bulk/
- Modified query param: email
- Description changed from '' to 'Email contains'
- Modified query param: project_end_date_after
- Description changed from '' to 'Project end date range'
- Modified query param: project_end_date_before
- Description changed from '' to 'Project end date range'
- Modified query param: project_start_date_after
- Description changed from '' to 'Project start date range'
- Modified query param: project_start_date_before
- Description changed from '' to 'Project start date range'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: state
- Description changed from '' to 'Course account state
'
- Modified query param: username
- Description changed from '' to 'Username'
GET /api/marketplace-customer-service-accounts/
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: email
- Description changed from '' to 'Email contains'
- Modified query param: state
- Description changed from '' to 'Service account state
'
- Modified query param: username
- Description changed from '' to 'Username'
HEAD /api/marketplace-customer-service-accounts/
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: email
- Description changed from '' to 'Email contains'
- Modified query param: state
- Description changed from '' to 'Service account state
'
- Modified query param: username
- Description changed from '' to 'Username'
GET /api/marketplace-integration-statuses/
- Modified query param: agent_type
- Description changed from '' to 'Agent type'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: status
- Description changed from '' to 'Integration status
'
HEAD /api/marketplace-integration-statuses/
- Modified query param: agent_type
- Description changed from '' to 'Agent type'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: status
- Description changed from '' to 'Integration status
'
GET /api/marketplace-offering-terms-of-service/
- Modified query param: is_active
- Description changed from '' to 'Is active'
- Modified query param: offering
- Description changed from '' to 'Offering URL'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: requires_reconsent
- Description changed from '' to 'Requires reconsent'
- Modified query param: version
- Description changed from '' to 'Version'
HEAD /api/marketplace-offering-terms-of-service/
- Modified query param: is_active
- Description changed from '' to 'Is active'
- Modified query param: offering
- Description changed from '' to 'Offering URL'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: requires_reconsent
- Description changed from '' to 'Requires reconsent'
- Modified query param: version
- Description changed from '' to 'Version'
GET /api/marketplace-offering-users/
- Modified query param: is_restricted
- Description changed from '' to 'Is restricted'
- Modified query param: provider_uuid
- Description changed from '' to 'Provider UUID'
- Modified query param: state
- Description changed from '' to 'Offering user state
'
- Modified query param: user_username
- Description changed from '' to 'User username'
- Modified query param: user_uuid
- Description changed from '' to 'User UUID'
HEAD /api/marketplace-offering-users/
- Modified query param: is_restricted
- Description changed from '' to 'Is restricted'
- Modified query param: provider_uuid
- Description changed from '' to 'Provider UUID'
- Modified query param: state
- Description changed from '' to 'Offering user state
'
- Modified query param: user_username
- Description changed from '' to 'User username'
- Modified query param: user_uuid
- Description changed from '' to 'User UUID'
GET /api/marketplace-orders/
- Modified query param: can_approve_as_consumer
- Description changed from '' to 'Can approve as consumer'
- Modified query param: can_approve_as_provider
- Description changed from '' to 'Can approve as provider'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: offering_type
- Description changed from '' to 'Offering type'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: provider_uuid
- Description changed from '' to 'Provider UUID'
- Modified query param: resource
- Description changed from '' to 'Resource URL'
- Modified query param: resource_uuid
- Description changed from '' to 'Resource UUID'
- Modified query param: service_manager_uuid
- Description changed from '' to 'Service manager UUID'
- Modified query param: state
- Description changed from '' to 'Order state
'
- Modified query param: type
- Description changed from '' to 'Order type
'
HEAD /api/marketplace-orders/
- Modified query param: can_approve_as_consumer
- Description changed from '' to 'Can approve as consumer'
- Modified query param: can_approve_as_provider
- Description changed from '' to 'Can approve as provider'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: offering_type
- Description changed from '' to 'Offering type'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: provider_uuid
- Description changed from '' to 'Provider UUID'
- Modified query param: resource
- Description changed from '' to 'Resource URL'
- Modified query param: resource_uuid
- Description changed from '' to 'Resource UUID'
- Modified query param: service_manager_uuid
- Description changed from '' to 'Service manager UUID'
- Modified query param: state
- Description changed from '' to 'Order state
'
- Modified query param: type
- Description changed from '' to 'Order type
'
GET /api/marketplace-plan-components/
- Modified query param: archived
- Description changed from '' to 'Archived'
- Modified query param: shared
- Description changed from '' to 'Shared'
HEAD /api/marketplace-plan-components/
- Modified query param: archived
- Description changed from '' to 'Archived'
- Modified query param: shared
- Description changed from '' to 'Shared'
GET /api/marketplace-plans/
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
HEAD /api/marketplace-plans/
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
GET /api/marketplace-project-service-accounts/
- Modified query param: email
- Description changed from '' to 'Email contains'
- Modified query param: project
- Description changed from '' to 'Project URL'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: state
- Description changed from '' to 'Service account state
'
- Modified query param: username
- Description changed from '' to 'Username'
HEAD /api/marketplace-project-service-accounts/
- Modified query param: email
- Description changed from '' to 'Email contains'
- Modified query param: project
- Description changed from '' to 'Project URL'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: state
- Description changed from '' to 'Service account state
'
- Modified query param: username
- Description changed from '' to 'Username'
GET /api/marketplace-provider-offerings/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
HEAD /api/marketplace-provider-offerings/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
GET /api/marketplace-provider-offerings/groups/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
HEAD /api/marketplace-provider-offerings/groups/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
GET /api/marketplace-provider-offerings/{uuid}/component_stats/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
GET /api/marketplace-provider-offerings/{uuid}/costs/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
GET /api/marketplace-provider-offerings/{uuid}/customers/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
GET /api/marketplace-provider-offerings/{uuid}/list_course_accounts/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
GET /api/marketplace-provider-resources/
- New query param: exclude_pending_transitional
- New query param: order_state
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: downscaled
- Description changed from '' to 'Downscaled'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: offering_billable
- Description changed from '' to 'Offering billable'
- Modified query param: offering_type
- Description changed from '' to 'Offering type'
- Modified query param: paused
- Description changed from '' to 'Paused'
- Modified query param: plan_uuid
- Description changed from '' to 'Plan UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: provider_uuid
- Description changed from '' to 'Provider UUID'
- Modified query param: restrict_member_access
- Description changed from '' to 'Restrict member access'
- Modified query param: service_manager_uuid
- Description changed from 'Service Manager UUID' to 'Service manager UUID'
- Modified query param: state
- Description changed from '' to 'Resource state
'
HEAD /api/marketplace-provider-resources/
- New query param: exclude_pending_transitional
- New query param: order_state
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: downscaled
- Description changed from '' to 'Downscaled'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: offering_billable
- Description changed from '' to 'Offering billable'
- Modified query param: offering_type
- Description changed from '' to 'Offering type'
- Modified query param: paused
- Description changed from '' to 'Paused'
- Modified query param: plan_uuid
- Description changed from '' to 'Plan UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: provider_uuid
- Description changed from '' to 'Provider UUID'
- Modified query param: restrict_member_access
- Description changed from '' to 'Restrict member access'
- Modified query param: service_manager_uuid
- Description changed from 'Service Manager UUID' to 'Service manager UUID'
- Modified query param: state
- Description changed from '' to 'Resource state
'
GET /api/marketplace-public-offerings/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
HEAD /api/marketplace-public-offerings/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
GET /api/marketplace-related-customers/{customer_uuid}/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
GET /api/marketplace-resource-offerings/{category_uuid}/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
GET /api/marketplace-resource-users/
- Modified query param: resource
- Description changed from '' to 'Resource URL'
- Modified query param: resource_uuid
- Description changed from '' to 'Resource UUID'
- Modified query param: role_name
- Description changed from '' to 'Role name'
- Modified query param: role_uuid
- Description changed from '' to 'Role UUID'
- Modified query param: user_uuid
- Description changed from '' to 'User UUID'
HEAD /api/marketplace-resource-users/
- Modified query param: resource
- Description changed from '' to 'Resource URL'
- Modified query param: resource_uuid
- Description changed from '' to 'Resource UUID'
- Modified query param: role_name
- Description changed from '' to 'Role name'
- Modified query param: role_uuid
- Description changed from '' to 'Role UUID'
- Modified query param: user_uuid
- Description changed from '' to 'User UUID'
GET /api/marketplace-resources/
- New query param: exclude_pending_transitional
- New query param: order_state
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: downscaled
- Description changed from '' to 'Downscaled'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: offering_billable
- Description changed from '' to 'Offering billable'
- Modified query param: offering_type
- Description changed from '' to 'Offering type'
- Modified query param: paused
- Description changed from '' to 'Paused'
- Modified query param: plan_uuid
- Description changed from '' to 'Plan UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: provider_uuid
- Description changed from '' to 'Provider UUID'
- Modified query param: restrict_member_access
- Description changed from '' to 'Restrict member access'
- Modified query param: service_manager_uuid
- Description changed from 'Service Manager UUID' to 'Service manager UUID'
- Modified query param: state
- Description changed from '' to 'Resource state
'
HEAD /api/marketplace-resources/
- New query param: exclude_pending_transitional
- New query param: order_state
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: downscaled
- Description changed from '' to 'Downscaled'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: offering_billable
- Description changed from '' to 'Offering billable'
- Modified query param: offering_type
- Description changed from '' to 'Offering type'
- Modified query param: paused
- Description changed from '' to 'Paused'
- Modified query param: plan_uuid
- Description changed from '' to 'Plan UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: provider_uuid
- Description changed from '' to 'Provider UUID'
- Modified query param: restrict_member_access
- Description changed from '' to 'Restrict member access'
- Modified query param: service_manager_uuid
- Description changed from 'Service Manager UUID' to 'Service manager UUID'
- Modified query param: state
- Description changed from '' to 'Resource state
'
GET /api/marketplace-robot-accounts/
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: provider_uuid
- Description changed from '' to 'Provider UUID'
- Modified query param: resource
- Description changed from '' to 'Resource URL'
- Modified query param: resource_uuid
- Description changed from '' to 'Resource UUID'
- Modified query param: state
- Description changed from '' to 'Robot account state
'
HEAD /api/marketplace-robot-accounts/
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: provider_uuid
- Description changed from '' to 'Provider UUID'
- Modified query param: resource
- Description changed from '' to 'Resource URL'
- Modified query param: resource_uuid
- Description changed from '' to 'Resource UUID'
- Modified query param: state
- Description changed from '' to 'Robot account state
'
GET /api/marketplace-service-providers/
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_keyword
- Description changed from '' to 'Customer keyword (name, abbreviation or native name)'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
HEAD /api/marketplace-service-providers/
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_keyword
- Description changed from '' to 'Customer keyword (name, abbreviation or native name)'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
GET /api/marketplace-service-providers/{service_provider_uuid}/course_accounts/
- Modified query param: email
- Description changed from '' to 'Email contains'
- Modified query param: project_end_date_after
- Description changed from '' to 'Project end date range'
- Modified query param: project_end_date_before
- Description changed from '' to 'Project end date range'
- Modified query param: project_start_date_after
- Description changed from '' to 'Project start date range'
- Modified query param: project_start_date_before
- Description changed from '' to 'Project start date range'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: state
- Description changed from '' to 'Course account state
'
- Modified query param: username
- Description changed from '' to 'Username'
GET /api/marketplace-service-providers/{service_provider_uuid}/customer_projects/
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: is_removed
- Description changed from '' to 'Is removed'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: slug
- Description changed from '' to 'Slug'
GET /api/marketplace-service-providers/{service_provider_uuid}/customers/
- Modified query param: abbreviation
- Description changed from '' to 'Abbreviation'
- Modified query param: contact_details
- Description changed from '' to 'Contact details'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization_group_name
- Description changed from '' to 'Organization group name'
- Modified query param: organization_group_uuid
- Description changed from 'organization_group_uuid' to 'Organization group UUID'
GET /api/marketplace-service-providers/{service_provider_uuid}/keys/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: user_uuid
- Description changed from '' to 'User UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Modified query param: attributes
- Description changed from '' to 'Offering attributes (JSON)'
- Modified query param: billable
- Description changed from '' to 'Billable'
- Modified query param: category_group_uuid
- Description changed from '' to 'Category group UUID'
- Modified query param: category_uuid
- Description changed from '' to 'Category UUID'
- Modified query param: customer
- Description changed from '' to 'Customer URL'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description contains'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: organization_group_uuid
- Description changed from '' to 'Organization group UUID'
- Modified query param: parent_uuid
- Description changed from '' to 'Parent offering UUID'
- Modified query param: shared
- Description changed from '' to 'Shared'
- Modified query param: state
- Description changed from '' to 'Offering state
'
- Modified query param: type
- Description changed from '' to 'Offering type'
GET /api/marketplace-service-providers/{service_provider_uuid}/project_service_accounts/
- Modified query param: email
- Description changed from '' to 'Email contains'
- Modified query param: project
- Description changed from '' to 'Project URL'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: state
- Description changed from '' to 'Service account state
'
- Modified query param: username
- Description changed from '' to 'Username'
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: is_removed
- Description changed from '' to 'Is removed'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: slug
- Description changed from '' to 'Slug'
GET /api/marketplace-service-providers/{service_provider_uuid}/user_customers/
- Modified query param: abbreviation
- Description changed from '' to 'Abbreviation'
- Modified query param: contact_details
- Description changed from '' to 'Contact details'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization_group_name
- Description changed from '' to 'Organization group name'
- Modified query param: organization_group_uuid
- Description changed from 'organization_group_uuid' to 'Organization group UUID'
GET /api/marketplace-service-providers/{service_provider_uuid}/users/
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: email
- Description changed from '' to 'Email'
- Modified query param: is_active
- Description changed from '' to 'Is active'
- Modified query param: is_staff
- Description changed from '' to 'Is staff'
- Modified query param: is_support
- Description changed from '' to 'Is support'
- Modified query param: job_title
- Description changed from '' to 'Job title'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization
- Description changed from '' to 'Organization'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: username
- Description changed from '' to 'Username (exact)'
GET /api/marketplace-user-offering-consents/
- Modified query param: has_consent
- Description changed from '' to 'Has consent'
- Modified query param: offering
- Description changed from '' to 'Offering URL'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: requires_reconsent
- Description changed from '' to 'Requires reconsent'
- Modified query param: user
- Description changed from '' to 'User URL'
- Modified query param: user_uuid
- Description changed from '' to 'User UUID'
- Modified query param: version
- Description changed from '' to 'Version'
HEAD /api/marketplace-user-offering-consents/
- Modified query param: has_consent
- Description changed from '' to 'Has consent'
- Modified query param: offering
- Description changed from '' to 'Offering URL'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: requires_reconsent
- Description changed from '' to 'Requires reconsent'
- Modified query param: user
- Description changed from '' to 'User URL'
- Modified query param: user_uuid
- Description changed from '' to 'User UUID'
- Modified query param: version
- Description changed from '' to 'Version'
GET /api/notification-messages-templates/
- Modified query param: is_overridden
- Description changed from '' to 'Is overridden'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: path
- Description changed from '' to 'Path'
- Modified query param: path_exact
- Description changed from '' to 'Path (exact)'
HEAD /api/notification-messages-templates/
- Modified query param: is_overridden
- Description changed from '' to 'Is overridden'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: path
- Description changed from '' to 'Path'
- Modified query param: path_exact
- Description changed from '' to 'Path (exact)'
GET /api/notification-messages/
- Modified query param: is_overridden
- Description changed from '' to 'Is overridden'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
HEAD /api/notification-messages/
- Modified query param: is_overridden
- Description changed from '' to 'Is overridden'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
GET /api/openportal-allocations/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openportal-allocations/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openportal-remote-allocations/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openportal-remote-allocations/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openportal-unmanaged-projects/
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: is_removed
- Description changed from '' to 'Is removed'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: slug
- Description changed from '' to 'Slug'
HEAD /api/openportal-unmanaged-projects/
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: is_removed
- Description changed from '' to 'Is removed'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: slug
- Description changed from '' to 'Slug'
GET /api/openstack-backups/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: instance
- Description changed from '' to 'Instance URL'
- Modified query param: instance_uuid
- Description changed from '' to 'Instance UUID'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openstack-backups/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: instance
- Description changed from '' to 'Instance URL'
- Modified query param: instance_uuid
- Description changed from '' to 'Instance UUID'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openstack-flavors/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: name_iregex
- Description changed from '' to 'Name (regex)'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
HEAD /api/openstack-flavors/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: name_iregex
- Description changed from '' to 'Name (regex)'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
GET /api/openstack-floating-ips/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: free
- Description changed from '' to 'Is free'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openstack-floating-ips/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: free
- Description changed from '' to 'Is free'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openstack-images/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
HEAD /api/openstack-images/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
GET /api/openstack-instance-availability-zones/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
HEAD /api/openstack-instance-availability-zones/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
GET /api/openstack-instances/
- Modified query param: attach_volume_uuid
- Description changed from '' to 'Filter for attachment to volume UUID'
- Modified query param: availability_zone_name
- Description changed from '' to 'Availability zone name'
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openstack-instances/
- Modified query param: attach_volume_uuid
- Description changed from '' to 'Filter for attachment to volume UUID'
- Modified query param: availability_zone_name
- Description changed from '' to 'Availability zone name'
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openstack-marketplace-tenants/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openstack-marketplace-tenants/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openstack-network-rbac-policies/
- Modified query param: network
- Description changed from '' to 'Network URL'
- Modified query param: network_uuid
- Description changed from '' to 'Network UUID'
- Modified query param: target_tenant
- Description changed from '' to 'Target tenant URL'
- Modified query param: target_tenant_uuid
- Description changed from '' to 'Target tenant UUID'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
HEAD /api/openstack-network-rbac-policies/
- Modified query param: network
- Description changed from '' to 'Network URL'
- Modified query param: network_uuid
- Description changed from '' to 'Network UUID'
- Modified query param: target_tenant
- Description changed from '' to 'Target tenant URL'
- Modified query param: target_tenant_uuid
- Description changed from '' to 'Target tenant UUID'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
GET /api/openstack-networks/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openstack-networks/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openstack-ports/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
HEAD /api/openstack-ports/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
GET /api/openstack-routers/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
HEAD /api/openstack-routers/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
GET /api/openstack-security-groups/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openstack-security-groups/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openstack-server-groups/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openstack-server-groups/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openstack-snapshots/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: backup
- Description changed from '' to 'Backup URL'
- Modified query param: backup_uuid
- Description changed from '' to 'Backup UUID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: source_volume
- Description changed from '' to 'Source volume URL'
- Modified query param: source_volume_uuid
- Description changed from '' to 'Source volume UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openstack-snapshots/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: backup
- Description changed from '' to 'Backup URL'
- Modified query param: backup_uuid
- Description changed from '' to 'Backup UUID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: source_volume
- Description changed from '' to 'Source volume URL'
- Modified query param: source_volume_uuid
- Description changed from '' to 'Source volume UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openstack-subnets/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: network
- Description changed from '' to 'Network URL'
- Modified query param: network_uuid
- Description changed from '' to 'Network UUID'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openstack-subnets/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: network
- Description changed from '' to 'Network URL'
- Modified query param: network_uuid
- Description changed from '' to 'Network UUID'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openstack-tenants/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openstack-tenants/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openstack-tenants/{uuid}/backend_instances/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openstack-tenants/{uuid}/backend_volumes/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/openstack-volume-availability-zones/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
HEAD /api/openstack-volume-availability-zones/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
GET /api/openstack-volume-types/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
HEAD /api/openstack-volume-types/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
GET /api/openstack-volumes/
- Modified query param: attach_instance_uuid
- Description changed from '' to 'Filter for attachment to instance UUID'
- Modified query param: availability_zone_name
- Description changed from '' to 'Availability zone name'
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: instance
- Description changed from '' to 'Instance URL'
- Modified query param: instance_uuid
- Description changed from '' to 'Instance UUID'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: snapshot
- Description changed from '' to 'Snapshot URL'
- Modified query param: snapshot_uuid
- Description changed from '' to 'Snapshot UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/openstack-volumes/
- Modified query param: attach_instance_uuid
- Description changed from '' to 'Filter for attachment to instance UUID'
- Modified query param: availability_zone_name
- Description changed from '' to 'Availability zone name'
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: instance
- Description changed from '' to 'Instance URL'
- Modified query param: instance_uuid
- Description changed from '' to 'Instance UUID'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: snapshot
- Description changed from '' to 'Snapshot URL'
- Modified query param: snapshot_uuid
- Description changed from '' to 'Snapshot UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: tenant
- Description changed from '' to 'Tenant URL'
- Modified query param: tenant_uuid
- Description changed from '' to 'Tenant UUID'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/organization-groups/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: parent
- Description changed from '' to 'Parent UUID'
HEAD /api/organization-groups/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: parent
- Description changed from '' to 'Parent UUID'
GET /api/project-types/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
HEAD /api/project-types/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
GET /api/projects/
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: is_removed
- Description changed from '' to 'Is removed'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: slug
- Description changed from '' to 'Slug'
HEAD /api/projects/
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: is_removed
- Description changed from '' to 'Is removed'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: slug
- Description changed from '' to 'Slug'
GET /api/projects/{project_uuid}/other_users/
- Modified query param: email
- Description changed from '' to 'Email'
- Modified query param: is_active
- Description changed from '' to 'Is active'
- Modified query param: job_title
- Description changed from '' to 'Job title'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization
- Description changed from '' to 'Organization'
- Modified query param: username
- Description changed from '' to 'Username'
GET /api/proposal-proposals/{uuid}/checklist/
- Extensions changed
- Deleted extension: x-permissions
GET /api/provider-invoice-items/
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: invoice_month
- Description changed from '' to 'Invoice month'
- Modified query param: invoice_year
- Description changed from '' to 'Invoice year'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
HEAD /api/provider-invoice-items/
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: invoice_month
- Description changed from '' to 'Invoice month'
- Modified query param: invoice_year
- Description changed from '' to 'Invoice year'
- Modified query param: offering_uuid
- Description changed from '' to 'Offering UUID'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
GET /api/public-maintenance-announcements/
- Modified query param: maintenance_type
- Description changed from '' to 'Maintenance type'
- Modified query param: scheduled_end_after
- Description changed from '' to 'Scheduled end after'
- Modified query param: scheduled_end_before
- Description changed from '' to 'Scheduled end before'
- Modified query param: scheduled_start_after
- Description changed from '' to 'Scheduled start after'
- Modified query param: scheduled_start_before
- Description changed from '' to 'Scheduled start before'
- Modified query param: service_provider_uuid
- Description changed from '' to 'Service provider UUID'
- Modified query param: state
- Description changed from '' to 'Maintenance state
'
HEAD /api/public-maintenance-announcements/
- Modified query param: maintenance_type
- Description changed from '' to 'Maintenance type'
- Modified query param: scheduled_end_after
- Description changed from '' to 'Scheduled end after'
- Modified query param: scheduled_end_before
- Description changed from '' to 'Scheduled end before'
- Modified query param: scheduled_start_after
- Description changed from '' to 'Scheduled start after'
- Modified query param: scheduled_start_before
- Description changed from '' to 'Scheduled start before'
- Modified query param: service_provider_uuid
- Description changed from '' to 'Service provider UUID'
- Modified query param: state
- Description changed from '' to 'Maintenance state
'
GET /api/rancher-apps/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/rancher-apps/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/rancher-cluster-security-groups/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
HEAD /api/rancher-cluster-security-groups/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
GET /api/rancher-clusters/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/rancher-clusters/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/rancher-hpas/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/rancher-hpas/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/rancher-ingresses/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/rancher-ingresses/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/rancher-namespaces/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/rancher-namespaces/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/rancher-projects/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/rancher-projects/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/rancher-services/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/rancher-services/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/rancher-templates/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/rancher-templates/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/rancher-workloads/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/rancher-workloads/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/service-settings/
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: type
- Description changed from '' to 'Type'
HEAD /api/service-settings/
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: type
- Description changed from '' to 'Type'
GET /api/slurm-allocations/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/slurm-allocations/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/support-priorities/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
HEAD /api/support-priorities/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
GET /api/users/
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: email
- Description changed from '' to 'Email'
- Modified query param: is_active
- Description changed from '' to 'Is active'
- Modified query param: is_staff
- Description changed from '' to 'Is staff'
- Modified query param: is_support
- Description changed from '' to 'Is support'
- Modified query param: job_title
- Description changed from '' to 'Job title'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization
- Description changed from '' to 'Organization'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: username
- Description changed from '' to 'Username (exact)'
HEAD /api/users/
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: email
- Description changed from '' to 'Email'
- Modified query param: is_active
- Description changed from '' to 'Is active'
- Modified query param: is_staff
- Description changed from '' to 'Is staff'
- Modified query param: is_support
- Description changed from '' to 'Is support'
- Modified query param: job_title
- Description changed from '' to 'Job title'
- Modified query param: native_name
- Description changed from '' to 'Native name'
- Modified query param: organization
- Description changed from '' to 'Organization'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: username
- Description changed from '' to 'Username (exact)'
GET /api/vmware-clusters/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/vmware-clusters/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/vmware-datastores/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/vmware-datastores/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/vmware-disks/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/vmware-disks/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/vmware-folders/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/vmware-folders/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/vmware-networks/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/vmware-networks/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/vmware-ports/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/vmware-ports/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
GET /api/vmware-templates/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
HEAD /api/vmware-templates/
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: settings
- Description changed from '' to 'Settings URL'
- Modified query param: settings_uuid
- Description changed from '' to 'Settings UUID'
GET /api/vmware-virtual-machine/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
HEAD /api/vmware-virtual-machine/
- Modified query param: backend_id
- Description changed from '' to 'Backend ID'
- Modified query param: customer
- Description changed from '' to 'Customer UUID'
- Modified query param: customer_abbreviation
- Description changed from '' to 'Customer abbreviation'
- Modified query param: customer_name
- Description changed from '' to 'Customer name'
- Modified query param: customer_native_name
- Description changed from '' to 'Customer native name'
- Modified query param: customer_uuid
- Description changed from '' to 'Customer UUID'
- Modified query param: description
- Description changed from '' to 'Description'
- Modified query param: external_ip
- Description changed from '' to 'External IP'
- Modified query param: name
- Description changed from '' to 'Name'
- Modified query param: name_exact
- Description changed from '' to 'Name (exact)'
- Modified query param: project
- Description changed from '' to 'Project UUID'
- Modified query param: project_name
- Description changed from '' to 'Project name'
- Modified query param: project_uuid
- Description changed from '' to 'Project UUID'
- Modified query param: service_settings_name
- Description changed from '' to 'Service settings name'
- Modified query param: service_settings_uuid
- Description changed from '' to 'Service settings UUID'
- Modified query param: state
- Description changed from '' to 'State
'
- Modified query param: uuid
- Description changed from '' to 'UUID'
OpenAPI schema diff - 7.9.2
For version 7.9.2
New Endpoints: 9
POST /api/marketplace-provider-offerings/import_offering/
POST /api/marketplace-provider-offerings/{uuid}/export_offering/
POST /api/marketplace-provider-offerings/{uuid}/make_available/
POST /api/marketplace-provider-offerings/{uuid}/make_unavailable/
POST /api/marketplace-provider-resources/{uuid}/restore/
POST /api/marketplace-resources/{uuid}/restore/
DELETE /api/user-invitations/{uuid}/
PATCH /api/user-invitations/{uuid}/
PUT /api/user-invitations/{uuid}/
Deleted Endpoints: None
Modified Endpoints: 114
POST /api/backend-resources/{uuid}/import_resource/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/booking-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [billing_type_classification]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/booking-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [billing_type_classification]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/booking-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/booking-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/customer-credits/
- New query param: query
HEAD /api/customer-credits/
- New query param: query
GET /api/customer-credits/{uuid}/consumptions/
- New query param: query
GET /api/hooks-email/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
POST /api/hooks-email/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
GET /api/hooks-email/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
PATCH /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
PUT /api/hooks-email/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
GET /api/hooks-web/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
POST /api/hooks-web/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
GET /api/hooks-web/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
PATCH /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
PUT /api/hooks-web/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_types
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
GET /api/managed-rancher-cluster-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/managed-rancher-cluster-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/marketplace-categories/
- Modified query param: customers_offerings_state
- Schema changed
- Items changed
- New enum values: [5]
HEAD /api/marketplace-categories/
- Modified query param: customers_offerings_state
- Schema changed
- Items changed
- New enum values: [5]
DELETE /api/marketplace-offering-user-roles/{uuid}/
- Extensions changed
- New extension: x-permissions
PATCH /api/marketplace-offering-user-roles/{uuid}/
- Extensions changed
- New extension: x-permissions
PUT /api/marketplace-offering-user-roles/{uuid}/
- Extensions changed
- New extension: x-permissions
GET /api/marketplace-orders/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [order_subtype]
- Modified query param: type
- Schema changed
- Items changed
- New enum values: [Restore]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
HEAD /api/marketplace-orders/
- Modified query param: type
- Schema changed
- Items changed
- New enum values: [Restore]
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/marketplace-orders/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [order_subtype]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/marketplace-provider-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [billing_type_classification]
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
HEAD /api/marketplace-provider-offerings/
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
POST /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/marketplace-provider-offerings/groups/
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
HEAD /api/marketplace-provider-offerings/groups/
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
GET /api/marketplace-provider-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [billing_type_classification]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/marketplace-provider-offerings/{uuid}/component_stats/
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
GET /api/marketplace-provider-offerings/{uuid}/costs/
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
GET /api/marketplace-provider-offerings/{uuid}/customers/
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/marketplace-provider-offerings/{uuid}/list_course_accounts/
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
GET /api/marketplace-provider-offerings/{uuid}/list_customer_service_accounts/
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
GET /api/marketplace-provider-offerings/{uuid}/list_project_service_accounts/
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/marketplace-provider-offerings/{uuid}/orders/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [order_subtype]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/marketplace-provider-offerings/{uuid}/orders/{order_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [billing_type_classification]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/marketplace-provider-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/marketplace-provider-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/marketplace-public-offerings/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [billing_type_classification]
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
HEAD /api/marketplace-public-offerings/
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
GET /api/marketplace-public-offerings/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [billing_type_classification]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/marketplace-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/marketplace-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
POST /api/marketplace-resources/{uuid}/renew/
- Request body changed
- Content changed
- New media type: application/x-www-form-urlencoded
- New media type: multipart/form-data
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: attachment
- New property: request_comment
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RobotAccountStates
- Type changed from 'integer' to 'string'
- New enum values: [Requested Creating OK Requested deletion Deleted Error]
- Deleted enum values: [1 2 3 4 5 6]
POST /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RobotAccountStates
- Type changed from 'integer' to 'string'
- New enum values: [Requested Creating OK Requested deletion Deleted Error]
- Deleted enum values: [1 2 3 4 5 6]
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RobotAccountStates
- Type changed from 'integer' to 'string'
- New enum values: [Requested Creating OK Requested deletion Deleted Error]
- Deleted enum values: [1 2 3 4 5 6]
PATCH /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RobotAccountStates
- Type changed from 'integer' to 'string'
- New enum values: [Requested Creating OK Requested deletion Deleted Error]
- Deleted enum values: [1 2 3 4 5 6]
PUT /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RobotAccountStates
- Type changed from 'integer' to 'string'
- New enum values: [Requested Creating OK Requested deletion Deleted Error]
- Deleted enum values: [1 2 3 4 5 6]
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RobotAccountStates
- Type changed from 'integer' to 'string'
- New enum values: [Requested Creating OK Requested deletion Deleted Error]
- Deleted enum values: [1 2 3 4 5 6]
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RobotAccountStates
- Type changed from 'integer' to 'string'
- New enum values: [Requested Creating OK Requested deletion Deleted Error]
- Deleted enum values: [1 2 3 4 5 6]
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RobotAccountStates
- Type changed from 'integer' to 'string'
- New enum values: [Requested Creating OK Requested deletion Deleted Error]
- Deleted enum values: [1 2 3 4 5 6]
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RobotAccountStates
- Type changed from 'integer' to 'string'
- New enum values: [Requested Creating OK Requested deletion Deleted Error]
- Deleted enum values: [1 2 3 4 5 6]
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RobotAccountStates
- Type changed from 'integer' to 'string'
- New enum values: [Requested Creating OK Requested deletion Deleted Error]
- Deleted enum values: [1 2 3 4 5 6]
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/DryRunTypeEnum
- New enum values: [Restore]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
POST /api/marketplace-script-dry-run/{uuid}/run/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/DryRunTypeEnum
- New enum values: [Restore]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Modified query param: state
- Schema changed
- Items changed
- New enum values: [Unavailable]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/marketplace-software-catalogs/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: catalog_type_display
- New required property: last_successful_update
- New required property: last_update_attempt
- Properties changed
- New property: auto_update_enabled
- New property: catalog_type
- New property: catalog_type_display
- New property: last_successful_update
- New property: last_update_attempt
- New property: metadata
- New property: update_errors
- Modified property: name
- Description changed from 'Catalog name (e.g., EESSI)' to 'Catalog name (e.g., EESSI, Spack)'
- Modified property: version
- Description changed from 'Catalog version (e.g., 2023.06)' to 'Catalog version (e.g., 2023.06, 0.21.0)'
POST /api/marketplace-software-catalogs/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: auto_update_enabled
- New property: catalog_type
- New property: metadata
- New property: update_errors
- Modified property: name
- Description changed from 'Catalog name (e.g., EESSI)' to 'Catalog name (e.g., EESSI, Spack)'
- Modified property: version
- Description changed from 'Catalog version (e.g., 2023.06)' to 'Catalog version (e.g., 2023.06, 0.21.0)'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: catalog_type_display
- New required property: last_successful_update
- New required property: last_update_attempt
- Properties changed
- New property: auto_update_enabled
- New property: catalog_type
- New property: catalog_type_display
- New property: last_successful_update
- New property: last_update_attempt
- New property: metadata
- New property: update_errors
- Modified property: name
- Description changed from 'Catalog name (e.g., EESSI)' to 'Catalog name (e.g., EESSI, Spack)'
- Modified property: version
- Description changed from 'Catalog version (e.g., 2023.06)' to 'Catalog version (e.g., 2023.06, 0.21.0)'
GET /api/marketplace-software-catalogs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: catalog_type_display
- New required property: last_successful_update
- New required property: last_update_attempt
- Properties changed
- New property: auto_update_enabled
- New property: catalog_type
- New property: catalog_type_display
- New property: last_successful_update
- New property: last_update_attempt
- New property: metadata
- New property: update_errors
- Modified property: name
- Description changed from 'Catalog name (e.g., EESSI)' to 'Catalog name (e.g., EESSI, Spack)'
- Modified property: version
- Description changed from 'Catalog version (e.g., 2023.06)' to 'Catalog version (e.g., 2023.06, 0.21.0)'
PATCH /api/marketplace-software-catalogs/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: auto_update_enabled
- New property: catalog_type
- New property: metadata
- New property: update_errors
- Modified property: name
- Description changed from 'Catalog name (e.g., EESSI)' to 'Catalog name (e.g., EESSI, Spack)'
- Modified property: version
- Description changed from 'Catalog version (e.g., 2023.06)' to 'Catalog version (e.g., 2023.06, 0.21.0)'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: catalog_type_display
- New required property: last_successful_update
- New required property: last_update_attempt
- Properties changed
- New property: auto_update_enabled
- New property: catalog_type
- New property: catalog_type_display
- New property: last_successful_update
- New property: last_update_attempt
- New property: metadata
- New property: update_errors
- Modified property: name
- Description changed from 'Catalog name (e.g., EESSI)' to 'Catalog name (e.g., EESSI, Spack)'
- Modified property: version
- Description changed from 'Catalog version (e.g., 2023.06)' to 'Catalog version (e.g., 2023.06, 0.21.0)'
PUT /api/marketplace-software-catalogs/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: auto_update_enabled
- New property: catalog_type
- New property: metadata
- New property: update_errors
- Modified property: name
- Description changed from 'Catalog name (e.g., EESSI)' to 'Catalog name (e.g., EESSI, Spack)'
- Modified property: version
- Description changed from 'Catalog version (e.g., 2023.06)' to 'Catalog version (e.g., 2023.06, 0.21.0)'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: catalog_type_display
- New required property: last_successful_update
- New required property: last_update_attempt
- Properties changed
- New property: auto_update_enabled
- New property: catalog_type
- New property: catalog_type_display
- New property: last_successful_update
- New property: last_update_attempt
- New property: metadata
- New property: update_errors
- Modified property: name
- Description changed from 'Catalog name (e.g., EESSI)' to 'Catalog name (e.g., EESSI, Spack)'
- Modified property: version
- Description changed from 'Catalog version (e.g., 2023.06)' to 'Catalog version (e.g., 2023.06, 0.21.0)'
GET /api/marketplace-software-packages/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: catalog_type
- New required property: catalog_type_display
- New required property: extension_count
- Properties changed
- New property: catalog_type
- New property: catalog_type_display
- New property: categories
- New property: extension_count
- New property: is_extension
- New property: licenses
- New property: maintainers
- New property: parent_software
- Modified property: homepage
- Nullable changed from false to true
- Modified property: versions
- Items changed
- Properties changed
- Modified property: targets
- Items changed
- Required changed
- Deleted required property: cpu_family
- Deleted required property: cpu_microarchitecture
- Deleted required property: path
- Properties changed
- New property: location
- New property: metadata
- New property: target_name
- New property: target_subtype
- New property: target_type
- Deleted property: cpu_family
- Deleted property: cpu_microarchitecture
- Deleted property: path
POST /api/marketplace-software-packages/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: categories
- New property: is_extension
- New property: licenses
- New property: maintainers
- New property: parent_software
- Modified property: homepage
- Nullable changed from false to true
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: catalog_type
- New required property: catalog_type_display
- New required property: extension_count
- Properties changed
- New property: catalog_type
- New property: catalog_type_display
- New property: categories
- New property: extension_count
- New property: is_extension
- New property: licenses
- New property: maintainers
- New property: parent_software
- Modified property: homepage
- Nullable changed from false to true
- Modified property: versions
- Items changed
- Properties changed
- Modified property: targets
- Items changed
- Required changed
- Deleted required property: cpu_family
- Deleted required property: cpu_microarchitecture
- Deleted required property: path
- Properties changed
- New property: location
- New property: metadata
- New property: target_name
- New property: target_subtype
- New property: target_type
- Deleted property: cpu_family
- Deleted property: cpu_microarchitecture
- Deleted property: path
GET /api/marketplace-software-packages/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: catalog_type
- New required property: catalog_type_display
- New required property: extension_count
- Properties changed
- New property: catalog_type
- New property: catalog_type_display
- New property: categories
- New property: extension_count
- New property: is_extension
- New property: licenses
- New property: maintainers
- New property: parent_software
- Modified property: homepage
- Nullable changed from false to true
- Modified property: versions
- Items changed
- Properties changed
- Modified property: targets
- Items changed
- Required changed
- Deleted required property: cpu_family
- Deleted required property: cpu_microarchitecture
- Deleted required property: path
- Properties changed
- New property: location
- New property: metadata
- New property: target_name
- New property: target_subtype
- New property: target_type
- Deleted property: cpu_family
- Deleted property: cpu_microarchitecture
- Deleted property: path
PATCH /api/marketplace-software-packages/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: categories
- New property: is_extension
- New property: licenses
- New property: maintainers
- New property: parent_software
- Modified property: homepage
- Nullable changed from false to true
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: catalog_type
- New required property: catalog_type_display
- New required property: extension_count
- Properties changed
- New property: catalog_type
- New property: catalog_type_display
- New property: categories
- New property: extension_count
- New property: is_extension
- New property: licenses
- New property: maintainers
- New property: parent_software
- Modified property: homepage
- Nullable changed from false to true
- Modified property: versions
- Items changed
- Properties changed
- Modified property: targets
- Items changed
- Required changed
- Deleted required property: cpu_family
- Deleted required property: cpu_microarchitecture
- Deleted required property: path
- Properties changed
- New property: location
- New property: metadata
- New property: target_name
- New property: target_subtype
- New property: target_type
- Deleted property: cpu_family
- Deleted property: cpu_microarchitecture
- Deleted property: path
PUT /api/marketplace-software-packages/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: categories
- New property: is_extension
- New property: licenses
- New property: maintainers
- New property: parent_software
- Modified property: homepage
- Nullable changed from false to true
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: catalog_type
- New required property: catalog_type_display
- New required property: extension_count
- Properties changed
- New property: catalog_type
- New property: catalog_type_display
- New property: categories
- New property: extension_count
- New property: is_extension
- New property: licenses
- New property: maintainers
- New property: parent_software
- Modified property: homepage
- Nullable changed from false to true
- Modified property: versions
- Items changed
- Properties changed
- Modified property: targets
- Items changed
- Required changed
- Deleted required property: cpu_family
- Deleted required property: cpu_microarchitecture
- Deleted required property: path
- Properties changed
- New property: location
- New property: metadata
- New property: target_name
- New property: target_subtype
- New property: target_type
- Deleted property: cpu_family
- Deleted property: cpu_microarchitecture
- Deleted property: path
GET /api/marketplace-software-targets/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: location
- New required property: metadata
- New required property: target_name
- New required property: target_subtype
- New required property: target_type
- Deleted required property: cpu_family
- Deleted required property: cpu_microarchitecture
- Deleted required property: path
- Properties changed
- New property: location
- New property: metadata
- New property: target_name
- New property: target_subtype
- New property: target_type
- Deleted property: cpu_family
- Deleted property: cpu_microarchitecture
- Deleted property: path
POST /api/marketplace-software-targets/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: location
- New required property: metadata
- New required property: target_name
- New required property: target_subtype
- New required property: target_type
- Deleted required property: cpu_family
- Deleted required property: cpu_microarchitecture
- Deleted required property: path
- Properties changed
- New property: location
- New property: metadata
- New property: target_name
- New property: target_subtype
- New property: target_type
- Deleted property: cpu_family
- Deleted property: cpu_microarchitecture
- Deleted property: path
GET /api/marketplace-software-targets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: location
- New required property: metadata
- New required property: target_name
- New required property: target_subtype
- New required property: target_type
- Deleted required property: cpu_family
- Deleted required property: cpu_microarchitecture
- Deleted required property: path
- Properties changed
- New property: location
- New property: metadata
- New property: target_name
- New property: target_subtype
- New property: target_type
- Deleted property: cpu_family
- Deleted property: cpu_microarchitecture
- Deleted property: path
PATCH /api/marketplace-software-targets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: location
- New required property: metadata
- New required property: target_name
- New required property: target_subtype
- New required property: target_type
- Deleted required property: cpu_family
- Deleted required property: cpu_microarchitecture
- Deleted required property: path
- Properties changed
- New property: location
- New property: metadata
- New property: target_name
- New property: target_subtype
- New property: target_type
- Deleted property: cpu_family
- Deleted property: cpu_microarchitecture
- Deleted property: path
PUT /api/marketplace-software-targets/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: location
- New required property: metadata
- New required property: target_name
- New required property: target_subtype
- New required property: target_type
- Deleted required property: cpu_family
- Deleted required property: cpu_microarchitecture
- Deleted required property: path
- Properties changed
- New property: location
- New property: metadata
- New property: target_name
- New property: target_subtype
- New property: target_type
- Deleted property: cpu_family
- Deleted property: cpu_microarchitecture
- Deleted property: path
GET /api/marketplace-software-versions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: catalog_type
- New required property: dependencies
- New required property: metadata
- Properties changed
- New property: catalog_type
- New property: dependencies
- New property: metadata
POST /api/marketplace-software-versions/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: catalog_type
- New required property: dependencies
- New required property: metadata
- Properties changed
- New property: catalog_type
- New property: dependencies
- New property: metadata
GET /api/marketplace-software-versions/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: catalog_type
- New required property: dependencies
- New required property: metadata
- Properties changed
- New property: catalog_type
- New property: dependencies
- New property: metadata
PATCH /api/marketplace-software-versions/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: catalog_type
- New required property: dependencies
- New required property: metadata
- Properties changed
- New property: catalog_type
- New property: dependencies
- New property: metadata
PUT /api/marketplace-software-versions/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: catalog_type
- New required property: dependencies
- New required property: metadata
- Properties changed
- New property: catalog_type
- New property: dependencies
- New property: metadata
GET /api/metadata/events/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: event_groups
- AdditionalProperties changed
- Items changed
- New enum values: [user_invitation_updated user_invitation_deleted]
GET /api/onboarding-verifications/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [breg]
POST /api/onboarding-verifications/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [breg]
POST /api/onboarding-verifications/start_verification/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [breg]
GET /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [breg]
PATCH /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [breg]
PUT /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [breg]
POST /api/onboarding-verifications/{uuid}/run_validation/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: validation_method
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ValidationMethodEnum
- New enum values: [breg]
GET /api/openportal-managed-projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: project_template_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ProjectTemplate
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/openportal-managed-projects/{identifier}/{destination}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: project_template_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ProjectTemplate
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/openportal-project-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
POST /api/openportal-project-template/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/openportal-project-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
PATCH /api/openportal-project-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
PUT /api/openportal-project-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- New property: billing_type_classification
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: auto_approve_marketplace_script
- New property: can_restore_resource
- Modified property: state
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingState
- New enum values: [Unavailable]
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ONBOARDING_BREG_API_URL
- New property: SOFTWARE_CATALOG_CLEANUP_ENABLED
- New property: SOFTWARE_CATALOG_EESSI_API_URL
- New property: SOFTWARE_CATALOG_EESSI_INCLUDE_EXTENSIONS
- New property: SOFTWARE_CATALOG_EESSI_UPDATE_ENABLED
- New property: SOFTWARE_CATALOG_EESSI_VERSION
- New property: SOFTWARE_CATALOG_RETENTION_DAYS
- New property: SOFTWARE_CATALOG_SPACK_DATA_URL
- New property: SOFTWARE_CATALOG_SPACK_UPDATE_ENABLED
- New property: SOFTWARE_CATALOG_SPACK_VERSION
- New property: SOFTWARE_CATALOG_UPDATE_EXISTING_PACKAGES
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: ONBOARDING_BREG_API_URL
- New property: SOFTWARE_CATALOG_CLEANUP_ENABLED
- New property: SOFTWARE_CATALOG_EESSI_API_URL
- New property: SOFTWARE_CATALOG_EESSI_INCLUDE_EXTENSIONS
- New property: SOFTWARE_CATALOG_EESSI_UPDATE_ENABLED
- New property: SOFTWARE_CATALOG_EESSI_VERSION
- New property: SOFTWARE_CATALOG_RETENTION_DAYS
- New property: SOFTWARE_CATALOG_SPACK_DATA_URL
- New property: SOFTWARE_CATALOG_SPACK_UPDATE_ENABLED
- New property: SOFTWARE_CATALOG_SPACK_VERSION
- New property: SOFTWARE_CATALOG_UPDATE_EXISTING_PACKAGES
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: ONBOARDING_BREG_API_URL
- New property: SOFTWARE_CATALOG_CLEANUP_ENABLED
- New property: SOFTWARE_CATALOG_EESSI_API_URL
- New property: SOFTWARE_CATALOG_EESSI_INCLUDE_EXTENSIONS
- New property: SOFTWARE_CATALOG_EESSI_UPDATE_ENABLED
- New property: SOFTWARE_CATALOG_EESSI_VERSION
- New property: SOFTWARE_CATALOG_RETENTION_DAYS
- New property: SOFTWARE_CATALOG_SPACK_DATA_URL
- New property: SOFTWARE_CATALOG_SPACK_UPDATE_ENABLED
- New property: SOFTWARE_CATALOG_SPACK_VERSION
- New property: SOFTWARE_CATALOG_UPDATE_EXISTING_PACKAGES
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: ONBOARDING_BREG_API_URL
- New property: SOFTWARE_CATALOG_CLEANUP_ENABLED
- New property: SOFTWARE_CATALOG_EESSI_API_URL
- New property: SOFTWARE_CATALOG_EESSI_INCLUDE_EXTENSIONS
- New property: SOFTWARE_CATALOG_EESSI_UPDATE_ENABLED
- New property: SOFTWARE_CATALOG_EESSI_VERSION
- New property: SOFTWARE_CATALOG_RETENTION_DAYS
- New property: SOFTWARE_CATALOG_SPACK_DATA_URL
- New property: SOFTWARE_CATALOG_SPACK_UPDATE_ENABLED
- New property: SOFTWARE_CATALOG_SPACK_VERSION
- New property: SOFTWARE_CATALOG_UPDATE_EXISTING_PACKAGES
GET /api/project-credits/
- New query param: query
HEAD /api/project-credits/
- New query param: query
GET /api/promotions-campaigns/{uuid}/orders/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [order_subtype]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: creation_order
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
- Modified property: order_in_progress
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OrderDetails
- Properties changed
- New property: order_subtype
- Modified property: old_cost_estimate
- Type changed from 'string' to 'number'
- Format changed from 'decimal' to 'double'
- Nullable changed from true to false
- Pattern changed from '^-?\d{0,12}(?:.\d{0,10})?$' to ''
- Modified property: type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/RequestTypes
- New enum values: [Restore]
OpenAPI schema diff - 7.9.3
For version 7.9.3
New Endpoints: 16
GET /api/user-action-executions/
HEAD /api/user-action-executions/
GET /api/user-action-executions/{id}/
GET /api/user-action-providers/
HEAD /api/user-action-providers/
GET /api/user-action-providers/{id}/
GET /api/user-actions/
HEAD /api/user-actions/
POST /api/user-actions/bulk_silence/
GET /api/user-actions/summary/
HEAD /api/user-actions/summary/
POST /api/user-actions/update_actions/
GET /api/user-actions/{id}/
POST /api/user-actions/{id}/execute_action/
POST /api/user-actions/{id}/silence/
POST /api/user-actions/{id}/unsilence/
Deleted Endpoints: 2
POST /api/openstack-tenants/
DELETE /api/openstack-tenants/{uuid}/
Modified Endpoints: 245
POST /api-auth/logout/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: logout_url
- Description changed from '' to 'URL to redirect to after logout'
POST /api-auth/password/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: password
- Description changed from '' to 'Password for authentication'
- Modified property: username
- Description changed from '' to 'Username for authentication'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: token
- Description changed from '' to 'Authentication token for API access'
POST /api/backend-resources/{uuid}/import_resource/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/booking-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/booking-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/booking-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_components offering_state]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/booking-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_components offering_state]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/customers/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [projects]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
POST /api/customers/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
GET /api/customers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- Deleted enum values: [projects]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
PATCH /api/customers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
PUT /api/customers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
GET /api/database-stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: data_size
- Description changed from '' to 'Size of the actual data in bytes'
- Modified property: external_size
- Description changed from '' to 'Size of external data (e.g., TOAST) in bytes'
- Modified property: table_name
- Description changed from '' to 'Name of the database table'
- Modified property: total_size
- Description changed from '' to 'Total size of the table in bytes'
GET /api/google-auth/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/google-auth/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/google-auth/{uuid}/authorize/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/invoice-items/total_price/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: total_price
- Description changed from '' to 'Total price for the invoice item'
POST /api/invoice-items/{uuid}/create_compensation/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_component_name
- Description changed from '' to 'Name of the offering component for compensation'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_component_name
- Description changed from '' to 'Name of the offering component for compensation'
GET /api/invoices/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: items
- Items changed
- Properties changed
- Modified property: details
- Properties changed
- Modified property: offering_component_name
- Description changed from '' to 'Name of the offering component'
- Modified property: offering_component_type
- Description changed from '' to 'Type of the offering component'
- Modified property: offering_name
- Description changed from '' to 'Name of the offering'
- Modified property: offering_type
- Description changed from '' to 'Type of the offering'
- Modified property: offering_uuid
- Description changed from '' to 'UUID of the offering'
- Modified property: plan_component_id
- Description changed from '' to 'ID of the plan component'
- Modified property: plan_name
- Description changed from '' to 'Name of the pricing plan'
- Modified property: plan_uuid
- Description changed from '' to 'UUID of the pricing plan'
- Modified property: resource_limit_periods
- Description changed from '' to 'List of resource limit periods for this invoice item'
- Items changed
- Properties changed
- Modified property: billing_periods
- Description changed from '' to 'Number of billing periods'
- Modified property: end
- Description changed from '' to 'End date of the resource limit period'
- Modified property: quantity
- Description changed from '' to 'Quantity of resources consumed during this period'
- Modified property: start
- Description changed from '' to 'Start date of the resource limit period'
- Modified property: total
- Description changed from '' to 'Total amount for this period'
- Modified property: resource_name
- Description changed from '' to 'Name of the marketplace resource'
- Modified property: resource_uuid
- Description changed from '' to 'UUID of the marketplace resource'
- Modified property: service_provider_name
- Description changed from '' to 'Name of the service provider'
- Modified property: service_provider_uuid
- Description changed from '' to 'UUID of the service provider'
GET /api/invoices/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: items
- Items changed
- Properties changed
- Modified property: details
- Properties changed
- Modified property: offering_component_name
- Description changed from '' to 'Name of the offering component'
- Modified property: offering_component_type
- Description changed from '' to 'Type of the offering component'
- Modified property: offering_name
- Description changed from '' to 'Name of the offering'
- Modified property: offering_type
- Description changed from '' to 'Type of the offering'
- Modified property: offering_uuid
- Description changed from '' to 'UUID of the offering'
- Modified property: plan_component_id
- Description changed from '' to 'ID of the plan component'
- Modified property: plan_name
- Description changed from '' to 'Name of the pricing plan'
- Modified property: plan_uuid
- Description changed from '' to 'UUID of the pricing plan'
- Modified property: resource_limit_periods
- Description changed from '' to 'List of resource limit periods for this invoice item'
- Items changed
- Properties changed
- Modified property: billing_periods
- Description changed from '' to 'Number of billing periods'
- Modified property: end
- Description changed from '' to 'End date of the resource limit period'
- Modified property: quantity
- Description changed from '' to 'Quantity of resources consumed during this period'
- Modified property: start
- Description changed from '' to 'Start date of the resource limit period'
- Modified property: total
- Description changed from '' to 'Total amount for this period'
- Modified property: resource_name
- Description changed from '' to 'Name of the marketplace resource'
- Modified property: resource_uuid
- Description changed from '' to 'UUID of the marketplace resource'
- Modified property: service_provider_name
- Description changed from '' to 'Name of the service provider'
- Modified property: service_provider_uuid
- Description changed from '' to 'UUID of the service provider'
GET /api/invoices/{uuid}/items/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: details
- Properties changed
- Modified property: offering_component_name
- Description changed from '' to 'Name of the offering component'
- Modified property: offering_component_type
- Description changed from '' to 'Type of the offering component'
- Modified property: offering_name
- Description changed from '' to 'Name of the offering'
- Modified property: offering_type
- Description changed from '' to 'Type of the offering'
- Modified property: offering_uuid
- Description changed from '' to 'UUID of the offering'
- Modified property: plan_component_id
- Description changed from '' to 'ID of the plan component'
- Modified property: plan_name
- Description changed from '' to 'Name of the pricing plan'
- Modified property: plan_uuid
- Description changed from '' to 'UUID of the pricing plan'
- Modified property: resource_limit_periods
- Description changed from '' to 'List of resource limit periods for this invoice item'
- Items changed
- Properties changed
- Modified property: billing_periods
- Description changed from '' to 'Number of billing periods'
- Modified property: end
- Description changed from '' to 'End date of the resource limit period'
- Modified property: quantity
- Description changed from '' to 'Quantity of resources consumed during this period'
- Modified property: start
- Description changed from '' to 'Start date of the resource limit period'
- Modified property: total
- Description changed from '' to 'Total amount for this period'
- Modified property: resource_name
- Description changed from '' to 'Name of the marketplace resource'
- Modified property: resource_uuid
- Description changed from '' to 'UUID of the marketplace resource'
- Modified property: service_provider_name
- Description changed from '' to 'Name of the service provider'
- Modified property: service_provider_uuid
- Description changed from '' to 'UUID of the service provider'
POST /api/invoices/{uuid}/paid/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: items
- Items changed
- Properties changed
- Modified property: details
- Properties changed
- Modified property: offering_component_name
- Description changed from '' to 'Name of the offering component'
- Modified property: offering_component_type
- Description changed from '' to 'Type of the offering component'
- Modified property: offering_name
- Description changed from '' to 'Name of the offering'
- Modified property: offering_type
- Description changed from '' to 'Type of the offering'
- Modified property: offering_uuid
- Description changed from '' to 'UUID of the offering'
- Modified property: plan_component_id
- Description changed from '' to 'ID of the plan component'
- Modified property: plan_name
- Description changed from '' to 'Name of the pricing plan'
- Modified property: plan_uuid
- Description changed from '' to 'UUID of the pricing plan'
- Modified property: resource_limit_periods
- Description changed from '' to 'List of resource limit periods for this invoice item'
- Items changed
- Properties changed
- Modified property: billing_periods
- Description changed from '' to 'Number of billing periods'
- Modified property: end
- Description changed from '' to 'End date of the resource limit period'
- Modified property: quantity
- Description changed from '' to 'Quantity of resources consumed during this period'
- Modified property: start
- Description changed from '' to 'Start date of the resource limit period'
- Modified property: total
- Description changed from '' to 'Total amount for this period'
- Modified property: resource_name
- Description changed from '' to 'Name of the marketplace resource'
- Modified property: resource_uuid
- Description changed from '' to 'UUID of the marketplace resource'
- Modified property: service_provider_name
- Description changed from '' to 'Name of the service provider'
- Modified property: service_provider_uuid
- Description changed from '' to 'UUID of the service provider'
GET /api/managed-rancher-cluster-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_components offering_state]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/managed-rancher-cluster-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_components offering_state]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/marketplace-component-usages/set_usage/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: date
- Description changed from 'Date for usage reporting (staff only). If not provided, current date is used.' to 'Date for usage reporting (staff and service providers for limit-based components). If not provided, current date is used.'
- Modified property: plan_period
- Description changed from '' to 'UUID of the specific resource plan period for usage reporting'
- Modified property: resource
- Description changed from '' to 'UUID of the resource for usage reporting (required if plan_period not provided)'
- Modified property: usages
- Description changed from '' to 'List of component usage items to report'
- Items changed
- Properties changed
- Modified property: amount
- Description changed from '' to 'Usage amount'
- Modified property: description
- Description changed from '' to 'Optional description of usage'
- Modified property: recurring
- Description changed from '' to 'Whether this usage is recurring'
- Modified property: type
- Description changed from '' to 'Type of the component'
POST /api/marketplace-component-usages/{uuid}/set_user_usage/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: date
- Description changed from 'Date for usage reporting (staff only). If not provided, current date is used.' to 'Date for usage reporting (staff and service providers for limit-based components). If not provided, current date is used.'
POST /api/marketplace-offering-users/{uuid}/set_pending_account_linking/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: comment
- Description changed from '' to 'Comment explaining the state transition'
- Modified property: comment_url
- Description changed from '' to 'URL reference related to the state transition comment'
POST /api/marketplace-offering-users/{uuid}/set_pending_additional_validation/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: comment
- Description changed from '' to 'Comment explaining the state transition'
- Modified property: comment_url
- Description changed from '' to 'URL reference related to the state transition comment'
POST /api/marketplace-offering-users/{uuid}/update_restricted/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_restricted
- Description changed from '' to 'Whether the offering user should be restricted from accessing resources'
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-plans/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
POST /api/marketplace-plans/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/marketplace-plans/usage_stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: limit
- Description changed from '' to 'Usage limit'
- Modified property: plan_name
- Description changed from '' to 'Name of the plan'
- Modified property: plan_uuid
- Description changed from '' to 'UUID of the plan'
- Modified property: remaining
- Description changed from '' to 'Remaining usage'
- Modified property: usage
- Description changed from '' to 'Current usage count'
GET /api/marketplace-plans/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
PATCH /api/marketplace-plans/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
PUT /api/marketplace-plans/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
POST /api/marketplace-plans/{uuid}/update_quotas/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: quotas
- Description changed from '' to 'Dictionary of quotas to update'
GET /api/marketplace-plugins/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: components
- Items changed
- Properties changed
- Modified property: billing_type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/BillingTypeEnum
- Type changed from 'string' to ''
- Description changed from '' to 'Billing type for the component'
- Deleted enum values: [fixed usage limit one few]
- Modified property: measured_unit
- Description changed from '' to 'Unit of measurement for the component'
- Modified property: name
- Description changed from '' to 'Display name of the component'
- Modified property: type
- Description changed from '' to 'Type identifier of the component'
POST /api/marketplace-project-update-requests/{uuid}/approve/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: comment
- Description changed from '' to 'Optional comment for review'
POST /api/marketplace-project-update-requests/{uuid}/reject/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: comment
- Description changed from '' to 'Optional comment for review'
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: limits
- AdditionalProperties changed
- Properties changed
- Modified property: max
- Description changed from '' to 'Maximum allowed value'
- Modified property: max_available_limit
- Description changed from '' to 'Maximum available limit across all resources'
- Modified property: min
- Description changed from '' to 'Minimum allowed value'
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: limits
- AdditionalProperties changed
- Properties changed
- Modified property: max
- Description changed from '' to 'Maximum allowed value'
- Modified property: max_available_limit
- Description changed from '' to 'Maximum available limit across all resources'
- Modified property: min
- Description changed from '' to 'Minimum allowed value'
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: limits
- AdditionalProperties changed
- Properties changed
- Modified property: max
- Description changed from '' to 'Maximum allowed value'
- Modified property: max_available_limit
- Description changed from '' to 'Maximum available limit across all resources'
- Modified property: min
- Description changed from '' to 'Minimum allowed value'
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-provider-offerings/groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: offering_name
- Description changed from '' to 'Name of the offering'
- Modified property: offering_uuid
- Description changed from '' to 'UUID of the offering'
POST /api/marketplace-provider-offerings/import_offering/
- Description changed from 'Imports an offering and all its connected parts from YAML format. Allows configuration of which components to import and how to handle conflicts.' to 'Imports an offering and all its connected parts from YAML format. Allows configuration of which components to import and how to handle conflicts. Imported offerings are always created in DRAFT state for security.'
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: preserve_state
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: import_timestamp
- Description changed from '' to 'Timestamp when the import was completed'
- Modified property: imported_offering_name
- Description changed from '' to 'Name of the imported offering'
- Modified property: imported_offering_uuid
- Description changed from '' to 'UUID of the imported offering'
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/marketplace-provider-offerings/{uuid}/add_endpoint/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: uuid
- Description changed from '' to 'UUID of the access endpoint'
POST /api/marketplace-provider-offerings/{uuid}/add_software_catalog/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: uuid
- Description changed from '' to 'UUID of the software catalog'
POST /api/marketplace-provider-offerings/{uuid}/check_unique_backend_id/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Backend identifier to check'
- Modified property: check_all_offerings
- Description changed from '' to 'Check across all offerings'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: is_unique
- Description changed from '' to 'Whether the backend ID is unique'
GET /api/marketplace-provider-offerings/{uuid}/costs/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: period
- Description changed from '' to 'Billing period (YYYY-MM)'
- Modified property: price
- Description changed from '' to 'Price amount excluding tax'
- Modified property: tax
- Description changed from '' to 'Tax amount'
- Modified property: total
- Description changed from '' to 'Total amount including tax'
POST /api/marketplace-provider-offerings/{uuid}/delete_endpoint/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: uuid
- Description changed from '' to 'UUID of the access endpoint'
POST /api/marketplace-provider-offerings/{uuid}/export_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: export_timestamp
- Description changed from '' to 'Timestamp when the export was completed'
- Modified property: offering_name
- Description changed from '' to 'Name of the exported offering'
- Modified property: offering_uuid
- Description changed from '' to 'UUID of the exported offering'
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Backend identifier of the resource'
- Modified property: project
- Description changed from '' to 'Target project for the resource'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-provider-offerings/{uuid}/importable_resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: backend_id
- Description changed from '' to 'Backend identifier of the resource'
- Modified property: description
- Description changed from '' to 'Description of the resource'
- Modified property: name
- Description changed from '' to 'Name of the resource'
- Modified property: type
- Description changed from '' to 'Type of the resource'
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
GET /api/marketplace-provider-offerings/{uuid}/list_customer_users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer
- Description changed from '' to 'Target customer URL with service provider profile where the offering should be moved'
- Modified property: preserve_permissions
- Description changed from '' to 'Whether to preserve existing permissions when moving the offering'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/marketplace-provider-offerings/{uuid}/refresh_offering_usernames/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Description changed from '' to 'Status of the resource response'
POST /api/marketplace-provider-offerings/{uuid}/remove_offering_component/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: uuid
- Description changed from '' to 'UUID of the component to remove'
POST /api/marketplace-provider-offerings/{uuid}/remove_software_catalog/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_catalog_uuid
- Description changed from '' to 'UUID of the offering catalog to remove'
GET /api/marketplace-provider-offerings/{uuid}/tos_stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: accepted_consents_count
- Description changed from '' to 'Number of accepted consents'
- Modified property: active_users_count
- Description changed from '' to 'Number of active users'
- Modified property: active_users_over_time
- Items changed
- Properties changed
- Modified property: count
- Description changed from '' to 'Count for the date'
- Modified property: date
- Description changed from '' to 'Date of the data point'
- Modified property: active_users_percentage
- Description changed from '' to 'Percentage of active users'
- Modified property: revoked_consents_count
- Description changed from '' to 'Number of revoked consents'
- Modified property: revoked_consents_over_time
- Items changed
- Properties changed
- Modified property: count
- Description changed from '' to 'Count for the date'
- Modified property: date
- Description changed from '' to 'Date of the data point'
- Modified property: tos_version_adoption
- Items changed
- Properties changed
- Modified property: users_count
- Description changed from '' to 'Number of users on this version'
- Modified property: version
- Description changed from '' to 'Version identifier'
- Modified property: total_consents_count
- Description changed from '' to 'Total number of consents'
- Modified property: total_users_count
- Description changed from '' to 'Total number of users'
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: secret_options
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
POST /api/marketplace-provider-offerings/{uuid}/update_options/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
POST /api/marketplace-provider-offerings/{uuid}/update_overview/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/marketplace-provider-offerings/{uuid}/update_resource_options/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-provider-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_components offering_state]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-provider-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_components offering_state]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: project
- Description changed from '' to 'Target project URL where the resource should be moved'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-provider-resources/{uuid}/offering_for_subresources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: type
- Description changed from '' to 'Type of the offering'
- Modified property: uuid
- Description changed from '' to 'UUID of the offering'
POST /api/marketplace-provider-resources/{uuid}/restore/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/marketplace-provider-resources/{uuid}/set_backend_id/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Description changed from '' to 'Status of the resource response'
POST /api/marketplace-provider-resources/{uuid}/set_backend_metadata/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Description changed from '' to 'Status of the resource response'
POST /api/marketplace-provider-resources/{uuid}/set_limits/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: limits
- Description changed from '' to 'Dictionary mapping component types to their new limit values'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Description changed from '' to 'Status of the resource response'
POST /api/marketplace-provider-resources/{uuid}/submit_report/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Description changed from '' to 'Status of the resource response'
POST /api/marketplace-provider-resources/{uuid}/terminate/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: attributes
- Description changed from '' to 'Optional attributes/parameters to pass to the termination operation'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: order_uuid
- Description changed from '' to 'UUID of the created or updated order'
POST /api/marketplace-provider-resources/{uuid}/update_options/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Description changed from '' to 'Status of the resource response'
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: order_uuid
- Description changed from '' to 'UUID of the created or updated order'
POST /api/marketplace-provider-resources/{uuid}/update_options_direct/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Description changed from '' to 'Status of the resource response'
POST /api/marketplace-public-api/check_signature/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer
- Description changed from '' to 'Service provider customer UUID'
- Modified property: data
- Description changed from '' to 'JWT-encoded data signed with the service provider's API secret code'
- Modified property: dry_run
- Description changed from '' to 'If true, validates the signature without executing the operation'
POST /api/marketplace-public-api/set_usage/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer
- Description changed from '' to 'Service provider customer UUID'
- Modified property: data
- Description changed from '' to 'JWT-encoded data signed with the service provider's API secret code'
- Modified property: dry_run
- Description changed from '' to 'If true, validates the signature without executing the operation'
GET /api/marketplace-public-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-public-offerings/{uuid}/plans/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/marketplace-public-offerings/{uuid}/plans/{plan_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/marketplace-resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_components offering_state]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-resources/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_components offering_state]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/marketplace-resources/{uuid}/move_resource/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: project
- Description changed from '' to 'Target project URL where the resource should be moved'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-resources/{uuid}/offering_for_subresources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: type
- Description changed from '' to 'Type of the offering'
- Modified property: uuid
- Description changed from '' to 'UUID of the offering'
POST /api/marketplace-resources/{uuid}/reallocate_limits/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: source_order_uuid
- Description changed from '' to 'UUID of the source order for limit reallocation'
- Modified property: target_order_uuids
- Description changed from '' to 'List of UUIDs for target orders receiving the reallocated limits'
POST /api/marketplace-resources/{uuid}/renew/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: order_uuid
- Description changed from '' to 'UUID of the created or updated order'
POST /api/marketplace-resources/{uuid}/restore/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/marketplace-resources/{uuid}/switch_plan/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: order_uuid
- Description changed from '' to 'UUID of the created or updated order'
POST /api/marketplace-resources/{uuid}/terminate/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: attributes
- Description changed from '' to 'Optional attributes/parameters to pass to the termination operation'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: order_uuid
- Description changed from '' to 'UUID of the created or updated order'
POST /api/marketplace-resources/{uuid}/update_limits/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: order_uuid
- Description changed from '' to 'UUID of the created or updated order'
POST /api/marketplace-resources/{uuid}/update_options/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: status
- Description changed from '' to 'Status of the resource response'
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: order_uuid
- Description changed from '' to 'UUID of the created or updated order'
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Properties changed
- Modified property: md5
- Description changed from '' to 'MD5 fingerprint of SSH key'
- Modified property: sha256
- Description changed from '' to 'SHA256 fingerprint of SSH key'
- Modified property: sha512
- Description changed from '' to 'SHA512 fingerprint of SSH key'
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
POST /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Properties changed
- Modified property: md5
- Description changed from '' to 'MD5 fingerprint of SSH key'
- Modified property: sha256
- Description changed from '' to 'SHA256 fingerprint of SSH key'
- Modified property: sha512
- Description changed from '' to 'SHA512 fingerprint of SSH key'
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Properties changed
- Modified property: md5
- Description changed from '' to 'MD5 fingerprint of SSH key'
- Modified property: sha256
- Description changed from '' to 'SHA256 fingerprint of SSH key'
- Modified property: sha512
- Description changed from '' to 'SHA512 fingerprint of SSH key'
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
PATCH /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Properties changed
- Modified property: md5
- Description changed from '' to 'MD5 fingerprint of SSH key'
- Modified property: sha256
- Description changed from '' to 'SHA256 fingerprint of SSH key'
- Modified property: sha512
- Description changed from '' to 'SHA512 fingerprint of SSH key'
PUT /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Properties changed
- Modified property: md5
- Description changed from '' to 'MD5 fingerprint of SSH key'
- Modified property: sha256
- Description changed from '' to 'SHA256 fingerprint of SSH key'
- Modified property: sha512
- Description changed from '' to 'SHA512 fingerprint of SSH key'
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Properties changed
- Modified property: md5
- Description changed from '' to 'MD5 fingerprint of SSH key'
- Modified property: sha256
- Description changed from '' to 'SHA256 fingerprint of SSH key'
- Modified property: sha512
- Description changed from '' to 'SHA512 fingerprint of SSH key'
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Properties changed
- Modified property: md5
- Description changed from '' to 'MD5 fingerprint of SSH key'
- Modified property: sha256
- Description changed from '' to 'SHA256 fingerprint of SSH key'
- Modified property: sha512
- Description changed from '' to 'SHA512 fingerprint of SSH key'
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Properties changed
- Modified property: md5
- Description changed from '' to 'MD5 fingerprint of SSH key'
- Modified property: sha256
- Description changed from '' to 'SHA256 fingerprint of SSH key'
- Modified property: sha512
- Description changed from '' to 'SHA512 fingerprint of SSH key'
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Properties changed
- Modified property: md5
- Description changed from '' to 'MD5 fingerprint of SSH key'
- Modified property: sha256
- Description changed from '' to 'SHA256 fingerprint of SSH key'
- Modified property: sha512
- Description changed from '' to 'SHA512 fingerprint of SSH key'
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: fingerprints
- Items changed
- Properties changed
- Modified property: md5
- Description changed from '' to 'MD5 fingerprint of SSH key'
- Modified property: sha256
- Description changed from '' to 'SHA256 fingerprint of SSH key'
- Modified property: sha512
- Description changed from '' to 'SHA512 fingerprint of SSH key'
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
GET /api/marketplace-runtime-states/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: label
- Description changed from '' to 'Human-readable label for the runtime state'
- Modified property: value
- Description changed from '' to 'Value of the runtime state'
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-service-providers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
POST /api/marketplace-service-providers/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/marketplace-service-providers/{service_provider_uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
GET /api/marketplace-service-providers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
PATCH /api/marketplace-service-providers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
PUT /api/marketplace-service-providers/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/marketplace-service-providers/{uuid}/api_secret_code/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: api_secret_code
- Description changed from '' to 'API secret code for authenticating service provider requests'
POST /api/marketplace-service-providers/{uuid}/api_secret_code/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: api_secret_code
- Description changed from '' to 'API secret code for authenticating service provider requests'
GET /api/marketplace-service-providers/{uuid}/revenue/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: month
- Description changed from '' to 'Invoice month'
- Modified property: total
- Description changed from '' to 'Total revenue amount'
- Modified property: year
- Description changed from '' to 'Invoice year'
GET /api/marketplace-service-providers/{uuid}/robot_account_customers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: name
- Description changed from '' to 'Name of the entity'
- Modified property: uuid
- Description changed from '' to 'UUID of the entity'
GET /api/marketplace-service-providers/{uuid}/robot_account_projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: name
- Description changed from '' to 'Name of the entity'
- Modified property: uuid
- Description changed from '' to 'UUID of the entity'
POST /api/marketplace-service-providers/{uuid}/set_offerings_username/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: user_uuid
- Description changed from '' to 'UUID of the user'
- Modified property: username
- Description changed from '' to 'Username for offering access'
GET /api/marketplace-service-providers/{uuid}/stat/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: active_and_paused_offerings
- Description changed from '' to 'Number of active and paused offerings'
- Modified property: active_campaigns
- Description changed from '' to 'Number of active campaigns'
- Modified property: active_resources
- Description changed from '' to 'Number of active resources'
- Modified property: current_customers
- Description changed from '' to 'Number of current customers'
- Modified property: customers_number_change
- Description changed from '' to 'Change in number of customers'
- Modified property: erred_resources
- Description changed from '' to 'Number of resources in error state'
- Modified property: pending_orders
- Description changed from '' to 'Number of pending orders'
- Modified property: resources_number_change
- Description changed from '' to 'Change in number of resources'
- Modified property: unresolved_tickets
- Description changed from '' to 'Number of unresolved support tickets'
GET /api/marketplace-stats/component_usages/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: component_type
- Description changed from '' to 'Type of the component'
- Modified property: offering_country
- Description changed from '' to 'Country of the offering'
- Modified property: offering_uuid
- Description changed from '' to 'UUID of the offering'
- Modified property: organization_group_name
- Description changed from '' to 'Name of the organization group'
- Modified property: organization_group_uuid
- Description changed from '' to 'UUID of the organization group'
- Modified property: usage
- Description changed from '' to 'Total usage amount'
GET /api/marketplace-stats/component_usages_per_month/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: component_type
- Description changed from '' to 'Type of the component'
- Modified property: month
- Description changed from '' to 'Month of the billing period'
- Modified property: offering_country
- Description changed from '' to 'Country of the offering'
- Modified property: offering_uuid
- Description changed from '' to 'UUID of the offering'
- Modified property: organization_group_name
- Description changed from '' to 'Name of the organization group'
- Modified property: organization_group_uuid
- Description changed from '' to 'UUID of the organization group'
- Modified property: usage
- Description changed from '' to 'Total usage amount'
- Modified property: year
- Description changed from '' to 'Year of the billing period'
GET /api/marketplace-stats/component_usages_per_project/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: component_type
- Description changed from '' to 'Type of the component'
- Modified property: project_uuid
- Description changed from '' to 'UUID of the project'
- Modified property: usage
- Description changed from '' to 'Total usage for the component'
GET /api/marketplace-stats/count_active_resources_grouped_by_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: count
- Description changed from '' to 'Number of resources for the offering'
- Modified property: country
- Description changed from '' to 'Country of the offering'
- Modified property: name
- Description changed from '' to 'Name of the offering'
- Modified property: uuid
- Description changed from '' to 'UUID of the offering'
GET /api/marketplace-stats/count_active_resources_grouped_by_offering_country/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: count
- Description changed from '' to 'Number of offerings in this country'
- Modified property: country
- Description changed from '' to 'Country code of the offering'
GET /api/marketplace-stats/count_active_resources_grouped_by_organization_group/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: count
- Description changed from '' to 'Count value from the record'
- Modified property: name
- Description changed from '' to 'Name from the record'
- Modified property: uuid
- Description changed from '' to 'UUID from the record'
GET /api/marketplace-stats/count_projects_grouped_by_provider_and_industry_flag/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: abbreviation
- Description changed from '' to 'Customer abbreviation from the record'
- Modified property: count
- Description changed from '' to 'Count value from the record'
- Modified property: is_industry
- Description changed from '' to 'Industry classification flag'
- Modified property: name
- Description changed from '' to 'Name from the record'
- Modified property: uuid
- Description changed from '' to 'UUID from the record'
GET /api/marketplace-stats/count_projects_grouped_by_provider_and_oecd/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: abbreviation
- Description changed from '' to 'Customer abbreviation from the record'
- Modified property: count
- Description changed from '' to 'Count value from the record'
- Modified property: name
- Description changed from '' to 'Name from the record'
- Modified property: uuid
- Description changed from '' to 'UUID from the record'
GET /api/marketplace-stats/count_projects_of_service_providers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: count
- Description changed from '' to 'Count value'
- Modified property: customer_name
- Description changed from '' to 'Name of the customer'
- Modified property: customer_organization_group_name
- Description changed from '' to 'Name of the customer's organization group'
- Modified property: customer_organization_group_uuid
- Description changed from '' to 'UUID of the customer's organization group'
- Modified property: customer_uuid
- Description changed from '' to 'UUID of the customer'
- Modified property: service_provider_uuid
- Description changed from '' to 'UUID of the service provider'
GET /api/marketplace-stats/count_projects_of_service_providers_grouped_by_oecd/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: count
- Description changed from '' to 'Count value'
- Modified property: customer_name
- Description changed from '' to 'Name of the customer'
- Modified property: customer_organization_group_name
- Description changed from '' to 'Name of the customer's organization group'
- Modified property: customer_organization_group_uuid
- Description changed from '' to 'UUID of the customer's organization group'
- Modified property: customer_uuid
- Description changed from '' to 'UUID of the customer'
- Modified property: service_provider_uuid
- Description changed from '' to 'UUID of the service provider'
GET /api/marketplace-stats/count_unique_users_connected_with_active_resources_of_service_provider/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: count_users
- Description changed from '' to 'Number of unique users'
- Modified property: customer_name
- Description changed from '' to 'Name of the customer'
- Modified property: customer_uuid
- Description changed from '' to 'UUID of the customer'
GET /api/marketplace-stats/count_users_of_service_providers/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: count
- Description changed from '' to 'Count value'
- Modified property: customer_name
- Description changed from '' to 'Name of the customer'
- Modified property: customer_organization_group_name
- Description changed from '' to 'Name of the customer's organization group'
- Modified property: customer_organization_group_uuid
- Description changed from '' to 'UUID of the customer's organization group'
- Modified property: customer_uuid
- Description changed from '' to 'UUID of the customer'
- Modified property: service_provider_uuid
- Description changed from '' to 'UUID of the service provider'
GET /api/marketplace-stats/customer_member_count/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: abbreviation
- Description changed from '' to 'Abbreviation of the customer'
- Modified property: count
- Description changed from '' to 'Number of members'
- Modified property: has_resources
- Description changed from '' to 'Whether the customer has resources'
- Modified property: name
- Description changed from '' to 'Name of the customer'
- Modified property: uuid
- Description changed from '' to 'UUID of the customer'
GET /api/marketplace-stats/offerings_counter_stats/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: category_title
- Description changed from '' to 'Title of the category'
- Modified property: category_uuid
- Description changed from '' to 'UUID of the category'
- Modified property: count
- Description changed from '' to 'Number of offerings'
- Modified property: service_provider_name
- Description changed from '' to 'Name of the service provider'
- Modified property: service_provider_uuid
- Description changed from '' to 'UUID of the service provider'
GET /api/marketplace-stats/organization_project_count/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: abbreviation
- Description changed from '' to 'Customer abbreviation from the record'
- Modified property: count
- Description changed from '' to 'Count value from the record'
- Modified property: name
- Description changed from '' to 'Name from the record'
- Modified property: uuid
- Description changed from '' to 'UUID from the record'
GET /api/marketplace-stats/organization_resource_count/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: abbreviation
- Description changed from '' to 'Customer abbreviation from the record'
- Modified property: count
- Description changed from '' to 'Count value from the record'
- Modified property: name
- Description changed from '' to 'Name from the record'
- Modified property: uuid
- Description changed from '' to 'UUID from the record'
GET /api/marketplace-stats/projects_limits_grouped_by_industry_flag/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: limits
- Description changed from '' to 'Nested dictionary of resource limits by category and component type'
GET /api/marketplace-stats/projects_limits_grouped_by_oecd/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: limits
- Description changed from '' to 'Nested dictionary of resource limits by category and component type'
GET /api/marketplace-stats/projects_usages_grouped_by_industry_flag/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: usages
- Description changed from '' to 'Nested dictionary of usage values by category and component type'
GET /api/marketplace-stats/projects_usages_grouped_by_oecd/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: usages
- Description changed from '' to 'Nested dictionary of usage values by category and component type'
GET /api/marketplace-stats/resources_limits/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: name
- Description changed from '' to 'Name of the limit'
- Modified property: offering_country
- Description changed from '' to 'Country of the offering'
- Modified property: offering_uuid
- Description changed from '' to 'UUID of the offering'
- Modified property: organization_group_name
- Description changed from '' to 'Name of the organization group'
- Modified property: organization_group_uuid
- Description changed from '' to 'UUID of the organization group'
- Modified property: value
- Description changed from '' to 'Limit value'
GET /api/marketplace-stats/total_cost_of_active_resources_per_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: cost
- Description changed from '' to 'Total cost for the offering'
- Modified property: offering_uuid
- Description changed from '' to 'UUID of the offering'
GET /api/onboarding-verifications/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: can_customer_be_created
- New required property: customer_creation_error_message
- Properties changed
- New property: can_customer_be_created
- New property: customer_creation_error_message
POST /api/onboarding-verifications/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: can_customer_be_created
- New required property: customer_creation_error_message
- Properties changed
- New property: can_customer_be_created
- New property: customer_creation_error_message
POST /api/onboarding-verifications/start_verification/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: can_customer_be_created
- New required property: customer_creation_error_message
- Properties changed
- New property: can_customer_be_created
- New property: customer_creation_error_message
GET /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: can_customer_be_created
- New required property: customer_creation_error_message
- Properties changed
- New property: can_customer_be_created
- New property: customer_creation_error_message
PATCH /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: can_customer_be_created
- New required property: customer_creation_error_message
- Properties changed
- New property: can_customer_be_created
- New property: customer_creation_error_message
PUT /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: can_customer_be_created
- New required property: customer_creation_error_message
- Properties changed
- New property: can_customer_be_created
- New property: customer_creation_error_message
POST /api/onboarding-verifications/{uuid}/create_customer/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
POST /api/onboarding-verifications/{uuid}/run_validation/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: can_customer_be_created
- New required property: customer_creation_error_message
- Properties changed
- New property: can_customer_be_created
- New property: customer_creation_error_message
GET /api/openportal-managed-projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: project_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Project
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
- Modified property: project_template_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ProjectTemplate
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
GET /api/openportal-managed-projects/{identifier}/{destination}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: project_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Project
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
- Modified property: project_template_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ProjectTemplate
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
POST /api/openportal-managed-projects/{identifier}/{destination}/approve/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: comment
- Description changed from '' to 'Optional comment for review'
POST /api/openportal-managed-projects/{identifier}/{destination}/reject/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: comment
- Description changed from '' to 'Optional comment for review'
GET /api/openportal-project-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
POST /api/openportal-project-template/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
GET /api/openportal-project-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
PATCH /api/openportal-project-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
PUT /api/openportal-project-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plans
- Items changed
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- Modified property: managed_rancher_load_balancer_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher load balancer'
- Modified property: managed_rancher_load_balancer_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher load balancer'
- Modified property: managed_rancher_server_data_volume_size_gb
- Description changed from '' to 'Data volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_data_volume_type_name
- Description changed from '' to 'Data volume type name for managed Rancher server'
- Modified property: managed_rancher_server_flavor_name
- Description changed from '' to 'Flavor name for managed Rancher server instances'
- Modified property: managed_rancher_server_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher server'
- Modified property: managed_rancher_server_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher server'
- Modified property: managed_rancher_worker_system_volume_size_gb
- Description changed from '' to 'System volume size in GB for managed Rancher worker nodes'
- Modified property: managed_rancher_worker_system_volume_type_name
- Description changed from '' to 'System volume type name for managed Rancher worker nodes'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: scope_state
- Property 'OneOf' changed
- Schemas added: #/components/schemas/CoreStates, #/components/schemas/NullEnum
- Property 'AllOf' changed
- Schemas deleted: #/components/schemas/CoreStates
- Modified property: secret_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedSecretOptions
- Properties changed
- Modified property: cloud_init_template
- Description changed from '' to 'Cloud-init template for Rancher cluster node initialization'
- Modified property: managed_rancher_load_balancer_cloud_init_template
- Description changed from '' to 'Cloud-init template for managed Rancher load balancer initialization'
- Modified property: openstack_api_tls_certificate
- Description changed from '' to 'TLS certificate for OpenStack API connection verification'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- Deleted property: projects
- Modified property: country
- Description changed from '' to 'Country code (ISO 3166-1 alpha-2)'
- Modified property: country_name
- Description changed from '' to 'Human-readable country name'
- Modified property: display_name
- Description changed from '' to 'Display name of the organization (includes native name if available)'
- Modified property: organization_groups
- Description changed from '' to 'Organization groups this customer belongs to'
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: project_metadata_checklist
- Description changed from '' to 'Checklist to be used for project metadata validation in this organization'
- Modified property: projects_count
- Description changed from '' to 'Number of projects in this organization'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: users_count
- Description changed from '' to 'Number of users with access to this organization'
GET /api/openportal-unmanaged-projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
POST /api/openportal-unmanaged-projects/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
GET /api/openportal-unmanaged-projects/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
PATCH /api/openportal-unmanaged-projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
PUT /api/openportal-unmanaged-projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
POST /api/openportal-unmanaged-projects/{uuid}/move_project/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
POST /api/openportal-unmanaged-projects/{uuid}/recover/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
PUT /api/openstack-tenants/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: project
- Deleted required property: service_settings
- Properties changed
- Deleted property: project
- Deleted property: service_settings
- Deleted property: subnet_cidr
- Deleted property: user_password
- Deleted property: user_username
GET /api/organization-groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
POST /api/organization-groups/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/organization-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
PATCH /api/organization-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
PUT /api/organization-groups/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: ONBOARDING_ARIREGISTER_USERNAME
- MinLength changed from 1 to 0
- Modified property: ONBOARDING_BOLAGSVERKET_CLIENT_ID
- MinLength changed from 1 to 0
- Modified property: ONBOARDING_COUNTRY
- MinLength changed from 1 to 0
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: ONBOARDING_ARIREGISTER_USERNAME
- MinLength changed from 1 to 0
- Modified property: ONBOARDING_BOLAGSVERKET_CLIENT_ID
- MinLength changed from 1 to 0
- Modified property: ONBOARDING_COUNTRY
- MinLength changed from 1 to 0
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: ONBOARDING_ARIREGISTER_USERNAME
- MinLength changed from 1 to 0
- Modified property: ONBOARDING_BOLAGSVERKET_CLIENT_ID
- MinLength changed from 1 to 0
- Modified property: ONBOARDING_COUNTRY
- MinLength changed from 1 to 0
GET /api/projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
POST /api/projects/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
GET /api/projects/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
PATCH /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
PUT /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
POST /api/projects/{uuid}/move_project/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
POST /api/projects/{uuid}/recover/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: description
- Description changed from '' to 'Project description (HTML content will be sanitized)'
- Modified property: end_date
- Description changed from '' to 'Project end date. Setting this field requires DELETE_PROJECT permission.'
- Modified property: oecd_fos_2007_label
- Description changed from '' to 'Human-readable label for the OECD FOS 2007 classification code'
- Modified property: resources_count
- Description changed from '' to 'Number of active resources in this project'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified property: staff_notes
- Description changed from '' to 'Internal notes visible only to staff and support users (HTML content will be sanitized)'
- Modified property: start_date
- Description changed from '' to 'Project start date. Cannot be edited after the start date has arrived.'
- Modified property: termination_metadata
- Description changed from '' to 'Metadata about project termination (read-only)'
GET /api/promotions-campaigns/{uuid}/resources/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [offering_components offering_state]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_components
- New property: offering_state
- Modified property: backend_metadata
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BackendMetadata
- Properties changed
- Modified property: action
- Description changed from '' to 'Current action being performed'
- Modified property: instance_name
- Description changed from '' to 'Name of the backend instance'
- Modified property: runtime_state
- Description changed from '' to 'Runtime state of the backend resource'
- Modified property: state
- Description changed from '' to 'Backend resource state'
- Modified property: endpoints
- Items changed
- Properties changed
- Modified property: url
- Description changed from '' to 'URL of the access endpoint'
- Modified property: report
- Items changed
- Properties changed
- Modified property: body
- Description changed from '' to 'Section body content'
- Modified property: header
- Description changed from '' to 'Section header text'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
POST /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
PATCH /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
PUT /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/proposal-protected-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/proposal-protected-calls/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/proposal-protected-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
PATCH /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
PUT /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/proposal-protected-calls/{uuid}/activate/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/proposal-protected-calls/{uuid}/archive/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
POST /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
PATCH /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
PUT /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/proposal-protected-calls/{uuid}/resource_templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
POST /api/proposal-protected-calls/{uuid}/resource_templates/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
PATCH /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
PUT /api/proposal-protected-calls/{uuid}/resource_templates/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/proposal-public-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/proposal-public-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: resource_templates
- Items changed
- Properties changed
- Modified property: requested_offering_plan
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/proposal-requested-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/proposal-requested-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/proposal-requested-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/proposal-requested-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- New property: default_configs
- Modified property: type
- New enum values: [single_datacenter_k8s_config multi_datacenter_k8s_config]
- Modified property: plan_details
- Property 'AllOf' changed
- Modified schema: #/components/schemas/BasePublicPlan
- Properties changed
- Modified property: organization_groups
- Items changed
- Properties changed
- Modified property: customers_count
- Description changed from '' to 'Number of customers in this organization group'
- Modified property: parent_name
- Description changed from '' to 'Name of the parent organization group'
- Modified property: parent_uuid
- Description changed from '' to 'UUID of the parent organization group'
GET /api/provider-invoice-items/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: details
- Properties changed
- Modified property: offering_component_name
- Description changed from '' to 'Name of the offering component'
- Modified property: offering_component_type
- Description changed from '' to 'Type of the offering component'
- Modified property: offering_name
- Description changed from '' to 'Name of the offering'
- Modified property: offering_type
- Description changed from '' to 'Type of the offering'
- Modified property: offering_uuid
- Description changed from '' to 'UUID of the offering'
- Modified property: plan_component_id
- Description changed from '' to 'ID of the plan component'
- Modified property: plan_name
- Description changed from '' to 'Name of the pricing plan'
- Modified property: plan_uuid
- Description changed from '' to 'UUID of the pricing plan'
- Modified property: resource_limit_periods
- Description changed from '' to 'List of resource limit periods for this invoice item'
- Items changed
- Properties changed
- Modified property: billing_periods
- Description changed from '' to 'Number of billing periods'
- Modified property: end
- Description changed from '' to 'End date of the resource limit period'
- Modified property: quantity
- Description changed from '' to 'Quantity of resources consumed during this period'
- Modified property: start
- Description changed from '' to 'Start date of the resource limit period'
- Modified property: total
- Description changed from '' to 'Total amount for this period'
- Modified property: resource_name
- Description changed from '' to 'Name of the marketplace resource'
- Modified property: resource_uuid
- Description changed from '' to 'UUID of the marketplace resource'
- Modified property: service_provider_name
- Description changed from '' to 'Name of the service provider'
- Modified property: service_provider_uuid
- Description changed from '' to 'UUID of the service provider'
GET /api/provider-invoice-items/{id}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: details
- Properties changed
- Modified property: offering_component_name
- Description changed from '' to 'Name of the offering component'
- Modified property: offering_component_type
- Description changed from '' to 'Type of the offering component'
- Modified property: offering_name
- Description changed from '' to 'Name of the offering'
- Modified property: offering_type
- Description changed from '' to 'Type of the offering'
- Modified property: offering_uuid
- Description changed from '' to 'UUID of the offering'
- Modified property: plan_component_id
- Description changed from '' to 'ID of the plan component'
- Modified property: plan_name
- Description changed from '' to 'Name of the pricing plan'
- Modified property: plan_uuid
- Description changed from '' to 'UUID of the pricing plan'
- Modified property: resource_limit_periods
- Description changed from '' to 'List of resource limit periods for this invoice item'
- Items changed
- Properties changed
- Modified property: billing_periods
- Description changed from '' to 'Number of billing periods'
- Modified property: end
- Description changed from '' to 'End date of the resource limit period'
- Modified property: quantity
- Description changed from '' to 'Quantity of resources consumed during this period'
- Modified property: start
- Description changed from '' to 'Start date of the resource limit period'
- Modified property: total
- Description changed from '' to 'Total amount for this period'
- Modified property: resource_name
- Description changed from '' to 'Name of the marketplace resource'
- Modified property: resource_uuid
- Description changed from '' to 'UUID of the marketplace resource'
- Modified property: service_provider_name
- Description changed from '' to 'Name of the service provider'
- Modified property: service_provider_uuid
- Description changed from '' to 'UUID of the service provider'
POST /api/query/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: query
- Description changed from '' to 'Search query string'
GET /api/support-issues/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: feedback
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedFeedback
- Properties changed
- Modified property: evaluation
- Description changed from '' to 'Customer satisfaction rating (1-5 stars)'
- Modified property: evaluation_number
- Description changed from '' to 'Numeric value of the rating'
- Modified property: state
- Description changed from '' to 'Current state of the feedback'
POST /api/support-issues/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: feedback
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedFeedback
- Properties changed
- Modified property: evaluation
- Description changed from '' to 'Customer satisfaction rating (1-5 stars)'
- Modified property: evaluation_number
- Description changed from '' to 'Numeric value of the rating'
- Modified property: state
- Description changed from '' to 'Current state of the feedback'
GET /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: feedback
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedFeedback
- Properties changed
- Modified property: evaluation
- Description changed from '' to 'Customer satisfaction rating (1-5 stars)'
- Modified property: evaluation_number
- Description changed from '' to 'Numeric value of the rating'
- Modified property: state
- Description changed from '' to 'Current state of the feedback'
PATCH /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: feedback
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedFeedback
- Properties changed
- Modified property: evaluation
- Description changed from '' to 'Customer satisfaction rating (1-5 stars)'
- Modified property: evaluation_number
- Description changed from '' to 'Numeric value of the rating'
- Modified property: state
- Description changed from '' to 'Current state of the feedback'
PUT /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: feedback
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedFeedback
- Properties changed
- Modified property: evaluation
- Description changed from '' to 'Customer satisfaction rating (1-5 stars)'
- Modified property: evaluation_number
- Description changed from '' to 'Numeric value of the rating'
- Modified property: state
- Description changed from '' to 'Current state of the feedback'
POST /api/support-issues/{uuid}/sync/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: feedback
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedFeedback
- Properties changed
- Modified property: evaluation
- Description changed from '' to 'Customer satisfaction rating (1-5 stars)'
- Modified property: evaluation_number
- Description changed from '' to 'Numeric value of the rating'
- Modified property: state
- Description changed from '' to 'Current state of the feedback'
POST /api/support-jira-webhook/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: changelog
- Properties changed
- Modified property: items
- Description changed from '' to 'List of changelog items'
- Modified property: comment
- Properties changed
- Modified property: id
- Description changed from '' to 'Jira comment ID'
- Modified property: issue
- Properties changed
- Modified property: fields
- Properties changed
- Modified property: project
- Properties changed
- Modified property: id
- Description changed from '' to 'Jira field ID'
- Modified property: key
- Description changed from '' to 'Jira project key'
- Modified property: name
- Description changed from '' to 'Jira field name'
- Modified property: key
- Description changed from '' to 'Jira issue key'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: changelog
- Properties changed
- Modified property: items
- Description changed from '' to 'List of changelog items'
- Modified property: comment
- Properties changed
- Modified property: id
- Description changed from '' to 'Jira comment ID'
- Modified property: issue
- Properties changed
- Modified property: fields
- Properties changed
- Modified property: project
- Properties changed
- Modified property: id
- Description changed from '' to 'Jira field ID'
- Modified property: key
- Description changed from '' to 'Jira project key'
- Modified property: name
- Description changed from '' to 'Jira field name'
- Modified property: key
- Description changed from '' to 'Jira issue key'
POST /api/support-templates/{uuid}/create_attachments/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: attachments
- Description changed from '' to 'List of files to attach'
GET /api/user-group-invitations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: created_by_full_name
- Description changed from '' to 'Full name of the user who created this invitation'
- Modified property: created_by_image
- Description changed from '' to 'Profile image of the user who created this invitation'
- Modified property: created_by_username
- Description changed from '' to 'Username of the user who created this invitation'
- Modified property: customer_name
- Description changed from '' to 'Name of the customer organization'
- Modified property: customer_uuid
- Description changed from '' to 'UUID of the customer organization'
- Modified property: expires
- Description changed from '' to 'Expiration date and time of the invitation'
- Modified property: project_role
- Description changed from '' to 'UUID of the project role to grant if auto_create_project is enabled'
- Modified property: role
- Description changed from '' to 'UUID of the role to grant to the invited user'
- Modified property: role_description
- Description changed from '' to 'Description of the role being granted'
- Modified property: role_name
- Description changed from '' to 'Name of the role being granted (e.g., 'PROJECT.ADMIN')'
- Modified property: scope_description
- Description changed from 'Get the description field from the scope if it exists. Returns empty string if scope doesn't have a description field.' to 'Description of the invitation scope'
- Modified property: scope_image
- Description changed from '' to 'Image URL of the invitation scope (Customer or Project)'
- Modified property: scope_name
- Description changed from '' to 'Name of the invitation scope'
- Modified property: scope_type
- Description changed from '' to 'Type of the invitation scope (e.g., 'customer', 'project')'
- Modified property: scope_uuid
- Description changed from '' to 'UUID of the invitation scope (Customer or Project)'
POST /api/user-group-invitations/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: project_role
- Description changed from '' to 'UUID of the project role to grant if auto_create_project is enabled'
- Modified property: role
- Description changed from '' to 'UUID of the role to grant to the invited user'
- Modified property: scope
- Description changed from '' to 'URL of the scope (Customer or Project) for this invitation'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: created_by_full_name
- Description changed from '' to 'Full name of the user who created this invitation'
- Modified property: created_by_image
- Description changed from '' to 'Profile image of the user who created this invitation'
- Modified property: created_by_username
- Description changed from '' to 'Username of the user who created this invitation'
- Modified property: customer_name
- Description changed from '' to 'Name of the customer organization'
- Modified property: customer_uuid
- Description changed from '' to 'UUID of the customer organization'
- Modified property: expires
- Description changed from '' to 'Expiration date and time of the invitation'
- Modified property: project_role
- Description changed from '' to 'UUID of the project role to grant if auto_create_project is enabled'
- Modified property: role
- Description changed from '' to 'UUID of the role to grant to the invited user'
- Modified property: role_description
- Description changed from '' to 'Description of the role being granted'
- Modified property: role_name
- Description changed from '' to 'Name of the role being granted (e.g., 'PROJECT.ADMIN')'
- Modified property: scope_description
- Description changed from 'Get the description field from the scope if it exists. Returns empty string if scope doesn't have a description field.' to 'Description of the invitation scope'
- Modified property: scope_image
- Description changed from '' to 'Image URL of the invitation scope (Customer or Project)'
- Modified property: scope_name
- Description changed from '' to 'Name of the invitation scope'
- Modified property: scope_type
- Description changed from '' to 'Type of the invitation scope (e.g., 'customer', 'project')'
- Modified property: scope_uuid
- Description changed from '' to 'UUID of the invitation scope (Customer or Project)'
GET /api/user-group-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: created_by_full_name
- Description changed from '' to 'Full name of the user who created this invitation'
- Modified property: created_by_image
- Description changed from '' to 'Profile image of the user who created this invitation'
- Modified property: created_by_username
- Description changed from '' to 'Username of the user who created this invitation'
- Modified property: customer_name
- Description changed from '' to 'Name of the customer organization'
- Modified property: customer_uuid
- Description changed from '' to 'UUID of the customer organization'
- Modified property: expires
- Description changed from '' to 'Expiration date and time of the invitation'
- Modified property: project_role
- Description changed from '' to 'UUID of the project role to grant if auto_create_project is enabled'
- Modified property: role
- Description changed from '' to 'UUID of the role to grant to the invited user'
- Modified property: role_description
- Description changed from '' to 'Description of the role being granted'
- Modified property: role_name
- Description changed from '' to 'Name of the role being granted (e.g., 'PROJECT.ADMIN')'
- Modified property: scope_description
- Description changed from 'Get the description field from the scope if it exists. Returns empty string if scope doesn't have a description field.' to 'Description of the invitation scope'
- Modified property: scope_image
- Description changed from '' to 'Image URL of the invitation scope (Customer or Project)'
- Modified property: scope_name
- Description changed from '' to 'Name of the invitation scope'
- Modified property: scope_type
- Description changed from '' to 'Type of the invitation scope (e.g., 'customer', 'project')'
- Modified property: scope_uuid
- Description changed from '' to 'UUID of the invitation scope (Customer or Project)'
GET /api/user-invitations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: created_by_full_name
- Description changed from '' to 'Full name of the user who created this invitation'
- Modified property: created_by_image
- Description changed from '' to 'Profile image of the user who created this invitation'
- Modified property: created_by_username
- Description changed from '' to 'Username of the user who created this invitation'
- Modified property: customer_name
- Description changed from '' to 'Name of the customer organization'
- Modified property: customer_uuid
- Description changed from '' to 'UUID of the customer organization'
- Modified property: expires
- Description changed from '' to 'Expiration date and time of the invitation'
- Modified property: role
- Description changed from '' to 'UUID of the role to grant to the invited user'
- Modified property: role_description
- Description changed from '' to 'Description of the role being granted'
- Modified property: role_name
- Description changed from '' to 'Name of the role being granted (e.g., 'PROJECT.ADMIN')'
- Modified property: scope_description
- Description changed from 'Get the description field from the scope if it exists. Returns empty string if scope doesn't have a description field.' to 'Description of the invitation scope'
- Modified property: scope_name
- Description changed from '' to 'Name of the invitation scope'
- Modified property: scope_type
- Description changed from '' to 'Type of the invitation scope (e.g., 'customer', 'project')'
- Modified property: scope_uuid
- Description changed from '' to 'UUID of the invitation scope (Customer or Project)'
POST /api/user-invitations/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: role
- Description changed from '' to 'UUID of the role to grant to the invited user'
- Modified property: scope
- Description changed from '' to 'URL of the scope (Customer or Project) for this invitation'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: created_by_full_name
- Description changed from '' to 'Full name of the user who created this invitation'
- Modified property: created_by_image
- Description changed from '' to 'Profile image of the user who created this invitation'
- Modified property: created_by_username
- Description changed from '' to 'Username of the user who created this invitation'
- Modified property: customer_name
- Description changed from '' to 'Name of the customer organization'
- Modified property: customer_uuid
- Description changed from '' to 'UUID of the customer organization'
- Modified property: expires
- Description changed from '' to 'Expiration date and time of the invitation'
- Modified property: role
- Description changed from '' to 'UUID of the role to grant to the invited user'
- Modified property: role_description
- Description changed from '' to 'Description of the role being granted'
- Modified property: role_name
- Description changed from '' to 'Name of the role being granted (e.g., 'PROJECT.ADMIN')'
- Modified property: scope_description
- Description changed from 'Get the description field from the scope if it exists. Returns empty string if scope doesn't have a description field.' to 'Description of the invitation scope'
- Modified property: scope_name
- Description changed from '' to 'Name of the invitation scope'
- Modified property: scope_type
- Description changed from '' to 'Type of the invitation scope (e.g., 'customer', 'project')'
- Modified property: scope_uuid
- Description changed from '' to 'UUID of the invitation scope (Customer or Project)'
POST /api/user-invitations/approve/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: token
- Description changed from '' to 'Authentication token for invitation acceptance'
POST /api/user-invitations/reject/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: token
- Description changed from '' to 'Authentication token for invitation acceptance'
GET /api/user-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: created_by_full_name
- Description changed from '' to 'Full name of the user who created this invitation'
- Modified property: created_by_image
- Description changed from '' to 'Profile image of the user who created this invitation'
- Modified property: created_by_username
- Description changed from '' to 'Username of the user who created this invitation'
- Modified property: customer_name
- Description changed from '' to 'Name of the customer organization'
- Modified property: customer_uuid
- Description changed from '' to 'UUID of the customer organization'
- Modified property: expires
- Description changed from '' to 'Expiration date and time of the invitation'
- Modified property: role
- Description changed from '' to 'UUID of the role to grant to the invited user'
- Modified property: role_description
- Description changed from '' to 'Description of the role being granted'
- Modified property: role_name
- Description changed from '' to 'Name of the role being granted (e.g., 'PROJECT.ADMIN')'
- Modified property: scope_description
- Description changed from 'Get the description field from the scope if it exists. Returns empty string if scope doesn't have a description field.' to 'Description of the invitation scope'
- Modified property: scope_name
- Description changed from '' to 'Name of the invitation scope'
- Modified property: scope_type
- Description changed from '' to 'Type of the invitation scope (e.g., 'customer', 'project')'
- Modified property: scope_uuid
- Description changed from '' to 'UUID of the invitation scope (Customer or Project)'
PATCH /api/user-invitations/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: role
- Description changed from '' to 'UUID of the new role to assign. Must be compatible with the invitation scope.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: role
- Description changed from '' to 'UUID of the new role to assign. Must be compatible with the invitation scope.'
PUT /api/user-invitations/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: role
- Description changed from '' to 'UUID of the new role to assign. Must be compatible with the invitation scope.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: role
- Description changed from '' to 'UUID of the new role to assign. Must be compatible with the invitation scope.'
POST /api/user-invitations/{uuid}/check/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: civil_number_required
- Description changed from '' to 'Whether civil number verification is required'
- Modified property: email
- Description changed from '' to 'Email address to check for existing invitations'
GET /api/user-invitations/{uuid}/details/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: created_by_full_name
- Description changed from '' to 'Full name of the user who created this invitation'
- Modified property: created_by_image
- Description changed from '' to 'Profile image of the user who created this invitation'
- Modified property: created_by_username
- Description changed from '' to 'Username of the user who created this invitation'
- Modified property: customer_name
- Description changed from '' to 'Name of the customer organization'
- Modified property: customer_uuid
- Description changed from '' to 'UUID of the customer organization'
- Modified property: role_description
- Description changed from '' to 'Description of the role being granted'
- Modified property: role_name
- Description changed from '' to 'Name of the role being granted (e.g., 'PROJECT.ADMIN')'
- Modified property: scope_description
- Description changed from 'Get the description field from the scope if it exists. Returns empty string if scope doesn't have a description field.' to 'Description of the invitation scope'
- Modified property: scope_name
- Description changed from '' to 'Name of the invitation scope'
- Modified property: scope_type
- Description changed from '' to 'Type of the invitation scope (e.g., 'customer', 'project')'
- Modified property: scope_uuid
- Description changed from '' to 'UUID of the invitation scope (Customer or Project)'
- Modified property: state
- Description changed from '' to 'Current state of the invitation (e.g., 'pending', 'accepted', 'rejected')'
POST /api/user-permission-requests/{uuid}/approve/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: comment
- Description changed from '' to 'Optional comment for review'
POST /api/user-permission-requests/{uuid}/reject/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: comment
- Description changed from '' to 'Optional comment for review'
GET /api/users/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
POST /api/users/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/users/me/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
GET /api/users/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
PATCH /api/users/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
PUT /api/users/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: slug
- Description changed from '' to 'URL-friendly identifier. Only editable by staff users.'
OpenAPI schema diff - 7.9.4
For version 7.9.4
New Endpoints: 2
POST /api/chat/invoke/
POST /api/chat/stream/
Deleted Endpoints: None
Modified Endpoints: 20
POST /api/backend-resources/{uuid}/import_resource/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
GET /api/booking-resources/
- New query param: visible_to_providers
- Deleted query param: exclude_pending_transitional
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
HEAD /api/booking-resources/
- New query param: visible_to_providers
- Deleted query param: exclude_pending_transitional
GET /api/booking-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
GET /api/managed-rancher-cluster-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
GET /api/managed-rancher-cluster-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
POST /api/marketplace-provider-offerings/{uuid}/import_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
GET /api/marketplace-provider-resources/
- New query param: visible_to_providers
- Deleted query param: exclude_pending_transitional
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
HEAD /api/marketplace-provider-resources/
- New query param: visible_to_providers
- Deleted query param: exclude_pending_transitional
GET /api/marketplace-provider-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
POST /api/marketplace-provider-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
POST /api/marketplace-provider-resources/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
GET /api/marketplace-resources/
- New query param: visible_to_providers
- Deleted query param: exclude_pending_transitional
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
HEAD /api/marketplace-resources/
- New query param: visible_to_providers
- Deleted query param: exclude_pending_transitional
GET /api/marketplace-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
POST /api/marketplace-resources/{uuid}/move_resource/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
POST /api/marketplace-resources/{uuid}/restore/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: WALDUR_AUTH_SOCIAL_ROLE_CLAIM
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: WALDUR_AUTH_SOCIAL_ROLE_CLAIM
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: WALDUR_AUTH_SOCIAL_ROLE_CLAIM
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: WALDUR_AUTH_SOCIAL_ROLE_CLAIM
GET /api/promotions-campaigns/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_state
- Property 'AllOf' changed
- Schemas added: #/components/schemas/OfferingState
- Schemas deleted: #/components/schemas/ResourceState
OpenAPI schema diff - 7.9.5
For version 7.9.5
New Endpoints: None
Deleted Endpoints: None
Modified Endpoints: 48
GET /api/booking-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/booking-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/marketplace-orders/
- New query param: resource_name
HEAD /api/marketplace-orders/
- New query param: resource_name
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
POST /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/marketplace-public-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/onboarding-justifications/
- New query param: user_uuid
- New query param: verification_uuid
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_full_name
- New required property: user_submitted_customer_data
- Properties changed
- New property: onboarding_metadata
- New property: user_full_name
- New property: user_submitted_customer_data
HEAD /api/onboarding-justifications/
- New query param: user_uuid
- New query param: verification_uuid
POST /api/onboarding-justifications/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_full_name
- New required property: user_submitted_customer_data
- Properties changed
- New property: onboarding_metadata
- New property: user_full_name
- New property: user_submitted_customer_data
POST /api/onboarding-justifications/create_justification/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_full_name
- New required property: user_submitted_customer_data
- Properties changed
- New property: onboarding_metadata
- New property: user_full_name
- New property: user_submitted_customer_data
GET /api/onboarding-justifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_full_name
- New required property: user_submitted_customer_data
- Properties changed
- New property: onboarding_metadata
- New property: user_full_name
- New property: user_submitted_customer_data
PATCH /api/onboarding-justifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_full_name
- New required property: user_submitted_customer_data
- Properties changed
- New property: onboarding_metadata
- New property: user_full_name
- New property: user_submitted_customer_data
PUT /api/onboarding-justifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_full_name
- New required property: user_submitted_customer_data
- Properties changed
- New property: onboarding_metadata
- New property: user_full_name
- New property: user_submitted_customer_data
POST /api/onboarding-justifications/{uuid}/approve/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_full_name
- New required property: user_submitted_customer_data
- Properties changed
- New property: onboarding_metadata
- New property: user_full_name
- New property: user_submitted_customer_data
POST /api/onboarding-justifications/{uuid}/reject/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: onboarding_metadata
- New required property: user_full_name
- New required property: user_submitted_customer_data
- Properties changed
- New property: onboarding_metadata
- New property: user_full_name
- New property: user_submitted_customer_data
GET /api/onboarding-verifications/
- New query param: country
- New query param: legal_name
- New query param: legal_person_identifier
- New query param: status
- New query param: user_uuid
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: user_full_name
- Properties changed
- New property: user_full_name
- Modified property: customer
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
HEAD /api/onboarding-verifications/
- New query param: country
- New query param: legal_name
- New query param: legal_person_identifier
- New query param: status
- New query param: user_uuid
POST /api/onboarding-verifications/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: user
- Properties changed
- Deleted property: user
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: user_full_name
- Properties changed
- New property: user_full_name
- Modified property: customer
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
POST /api/onboarding-verifications/start_verification/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: user_full_name
- Properties changed
- New property: user_full_name
- Modified property: customer
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
GET /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: user_full_name
- Properties changed
- New property: user_full_name
- Modified property: customer
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
PATCH /api/onboarding-verifications/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Deleted property: user
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: user_full_name
- Properties changed
- New property: user_full_name
- Modified property: customer
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
PUT /api/onboarding-verifications/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: user
- Properties changed
- Deleted property: user
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: user_full_name
- Properties changed
- New property: user_full_name
- Modified property: customer
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
POST /api/onboarding-verifications/{uuid}/run_validation/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: user_full_name
- Properties changed
- New property: user_full_name
- Modified property: customer
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- Modified property: user
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uri'
- ReadOnly changed from false to true
GET /api/openportal-managed-projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: project_template_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ProjectTemplate
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/openportal-managed-projects/{identifier}/{destination}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: project_template_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ProjectTemplate
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/openportal-project-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
POST /api/openportal-project-template/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
GET /api/openportal-project-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
PATCH /api/openportal-project-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
PUT /api/openportal-project-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: enable_display_of_order_actions_for_service_provider
OpenAPI schema diff - 7.9.6
For version 7.9.6
New Endpoints: 44
GET /api/marketplace-demo-presets/info/{name}/
HEAD /api/marketplace-demo-presets/info/{name}/
GET /api/marketplace-demo-presets/list/
HEAD /api/marketplace-demo-presets/list/
POST /api/marketplace-demo-presets/load/{name}/
GET /api/marketplace-stats/resource_provisioning_stats/
HEAD /api/marketplace-stats/resource_provisioning_stats/
GET /api/marketplace-stats/user_affiliation_count/
HEAD /api/marketplace-stats/user_affiliation_count/
GET /api/marketplace-stats/user_auth_method_count/
HEAD /api/marketplace-stats/user_auth_method_count/
GET /api/marketplace-stats/user_identity_source_count/
HEAD /api/marketplace-stats/user_identity_source_count/
GET /api/marketplace-stats/user_organization_count/
HEAD /api/marketplace-stats/user_organization_count/
POST /api/proposal-proposals/{uuid}/detach_documents/
GET /api/support-request-types-admin/
HEAD /api/support-request-types-admin/
POST /api/support-request-types-admin/
POST /api/support-request-types-admin/reorder/
DELETE /api/support-request-types-admin/{uuid}/
GET /api/support-request-types-admin/{uuid}/
PATCH /api/support-request-types-admin/{uuid}/
PUT /api/support-request-types-admin/{uuid}/
POST /api/support-request-types-admin/{uuid}/activate/
POST /api/support-request-types-admin/{uuid}/deactivate/
GET /api/support-request-types/
HEAD /api/support-request-types/
GET /api/support-request-types/{uuid}/
GET /api/support/settings/atlassian/
POST /api/support/settings/atlassian/
GET /api/support/settings/atlassian/current_settings/
POST /api/support/settings/atlassian/discover_custom_fields/
POST /api/support/settings/atlassian/discover_priorities/
POST /api/support/settings/atlassian/discover_projects/
POST /api/support/settings/atlassian/discover_request_types/
POST /api/support/settings/atlassian/preview_settings/
POST /api/support/settings/atlassian/save_settings/
POST /api/support/settings/atlassian/validate_credentials/
DELETE /api/support/settings/atlassian/{id}/
GET /api/support/settings/atlassian/{id}/
PATCH /api/support/settings/atlassian/{id}/
PUT /api/support/settings/atlassian/{id}/
DELETE /api/user-group-invitations/{uuid}/
Deleted Endpoints: None
Modified Endpoints: 157
GET /api/booking-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/booking-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/booking-resources/
- New query param: is_attached
HEAD /api/booking-resources/
- New query param: is_attached
GET /api/celery-stats/
- Description changed from 'Provides a snapshot of the Celery workers' status, including active, scheduled, reserved, and revoked tasks, as well as worker-specific statistics. Requires support user permissions.' to 'Provides a comprehensive snapshot of all Celery workers' status.
This endpoint returns detailed information about:
- active: Tasks currently being executed by workers
- scheduled: Tasks scheduled for future execution (with ETA)
- reserved: Tasks received by workers but not yet started
- revoked: Task IDs that have been cancelled/revoked
- query_task: Results of task queries (if any)
- stats: Detailed worker statistics including uptime, pool info, and broker connection
Each field is a dictionary where keys are worker names (e.g., 'celery@hostname').
If no workers are available, fields will be null.
Requires support user permissions.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: active
- New required property: query_task
- New required property: reserved
- New required property: revoked
- New required property: scheduled
- New required property: stats
- Properties changed
- New property: active
- New property: query_task
- New property: reserved
- New property: revoked
- New property: scheduled
- New property: stats
- AdditionalProperties changed
- Schema deleted
- Examples changed
- New example: CeleryStatsWithActiveWorkers
- New example: NoWorkersAvailable
GET /api/checklists-admin-questions/
- New query param: has_onboarding_mapping
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
HEAD /api/checklists-admin-questions/
- New query param: has_onboarding_mapping
POST /api/checklists-admin-questions/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
GET /api/checklists-admin-questions/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
PATCH /api/checklists-admin-questions/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
PUT /api/checklists-admin-questions/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
GET /api/checklists-admin/{uuid}/questions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
GET /api/customers/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_affiliations user_email_patterns user_identity_sources]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
POST /api/customers/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/customers/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_affiliations user_email_patterns user_identity_sources]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
PATCH /api/customers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
PUT /api/customers/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/marketplace-offering-users/checklist-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
- Modified property: questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
GET /api/marketplace-offering-users/{uuid}/checklist/
- New query param: include_all
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: dependencies_info
- Properties changed
- New property: dependencies_info
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
GET /api/marketplace-offering-users/{uuid}/checklist_review/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: dependencies_info
- Properties changed
- New property: dependencies_info
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
POST /api/marketplace-orders/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: attributes
- Property 'OneOf' changed
- Modified schema: #/components/schemas/OpenStackTenantCreateOrderAttributes
- Properties changed
- New property: skip_creation_of_default_subnet
GET /api/marketplace-orders/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
POST /api/marketplace-orders/{uuid}/reject_by_consumer/
- Request body changed
GET /api/marketplace-provider-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
POST /api/marketplace-provider-offerings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/marketplace-provider-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/marketplace-provider-offerings/{uuid}/list_customer_projects/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_affiliations user_email_patterns user_identity_sources]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
POST /api/marketplace-provider-offerings/{uuid}/move_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
POST /api/marketplace-provider-offerings/{uuid}/update_integration/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: plugin_options
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
POST /api/marketplace-provider-offerings/{uuid}/update_options/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
POST /api/marketplace-provider-offerings/{uuid}/update_resource_options/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: resource_options
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/marketplace-provider-offerings/{uuid}/user_has_resource_access/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/marketplace-provider-resources/
- New query param: is_attached
HEAD /api/marketplace-provider-resources/
- New query param: is_attached
GET /api/marketplace-provider-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/marketplace-public-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/marketplace-public-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/marketplace-resources/
- New query param: is_attached
HEAD /api/marketplace-resources/
- New query param: is_attached
GET /api/marketplace-resources/{uuid}/offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/marketplace-robot-accounts/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
GET /api/marketplace-robot-accounts/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
POST /api/marketplace-robot-accounts/{uuid}/set_state_creating/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
POST /api/marketplace-robot-accounts/{uuid}/set_state_deleted/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
POST /api/marketplace-robot-accounts/{uuid}/set_state_erred/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
POST /api/marketplace-robot-accounts/{uuid}/set_state_ok/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
POST /api/marketplace-robot-accounts/{uuid}/set_state_request_deletion/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offering_plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
POST /api/marketplace-script-dry-run/{uuid}/async_run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
POST /api/marketplace-script-dry-run/{uuid}/run/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/marketplace-service-providers/{service_provider_uuid}/projects/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_affiliations user_email_patterns user_identity_sources]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/marketplace-stats/total_cost_of_active_resources_per_offering/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: offering_name
- Properties changed
- New property: offering_name
GET /api/onboarding-country-configs/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
POST /api/onboarding-country-configs/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
GET /api/onboarding-country-configs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
PATCH /api/onboarding-country-configs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
PUT /api/onboarding-country-configs/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
GET /api/onboarding-verifications/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: justifications
- Properties changed
- New property: justifications
POST /api/onboarding-verifications/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: justifications
- Properties changed
- New property: justifications
GET /api/onboarding-verifications/checklist-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
- Modified property: questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
POST /api/onboarding-verifications/start_verification/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: justifications
- Properties changed
- New property: justifications
GET /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: justifications
- Properties changed
- New property: justifications
PATCH /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: justifications
- Properties changed
- New property: justifications
PUT /api/onboarding-verifications/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: justifications
- Properties changed
- New property: justifications
GET /api/onboarding-verifications/{uuid}/checklist/
- New query param: include_all
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: dependencies_info
- Properties changed
- New property: dependencies_info
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
POST /api/onboarding-verifications/{uuid}/create_customer/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
POST /api/onboarding-verifications/{uuid}/run_validation/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: justifications
- Properties changed
- New property: justifications
GET /api/openportal-managed-projects/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: project_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Project
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified property: project_template_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ProjectTemplate
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/openportal-managed-projects/{identifier}/{destination}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: project_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Project
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified property: project_template_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/ProjectTemplate
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/openportal-project-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
POST /api/openportal-project-template/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/openportal-project-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
PATCH /api/openportal-project-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
PUT /api/openportal-project-template/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: customer_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified property: offerings_data
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: plugin_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/MergedPluginOptions
- Properties changed
- New property: disable_autoapprove
- Modified property: auto_approve_marketplace_script
- Description changed from 'If set to False, an order requires manual provider approval' to 'If set to False, all orders require manual provider approval, including for service provider owners and staff'
- Modified property: resource_options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
- Modified property: provider_data
- Property 'AllOf' changed
- Modified schema: #/components/schemas/Customer
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/openportal-unmanaged-projects/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_affiliations user_email_patterns user_identity_sources]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
POST /api/openportal-unmanaged-projects/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/openportal-unmanaged-projects/checklist-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
- Modified property: questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
GET /api/openportal-unmanaged-projects/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_affiliations user_email_patterns user_identity_sources]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
PATCH /api/openportal-unmanaged-projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
PUT /api/openportal-unmanaged-projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/openportal-unmanaged-projects/{uuid}/checklist/
- New query param: include_all
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: dependencies_info
- Properties changed
- New property: dependencies_info
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
POST /api/openportal-unmanaged-projects/{uuid}/move_project/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
POST /api/openportal-unmanaged-projects/{uuid}/recover/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/openstack-tenants/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [skip_creation_of_default_router skip_creation_of_default_subnet]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: skip_creation_of_default_router
GET /api/openstack-tenants/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [skip_creation_of_default_router skip_creation_of_default_subnet]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: skip_creation_of_default_router
PATCH /api/openstack-tenants/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: skip_creation_of_default_router
- New property: skip_creation_of_default_subnet
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: skip_creation_of_default_router
PUT /api/openstack-tenants/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: skip_creation_of_default_router
- New property: skip_creation_of_default_subnet
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: skip_creation_of_default_router
POST /api/openstack-tenants/{uuid}/pull_security_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: skip_creation_of_default_router
POST /api/openstack-tenants/{uuid}/pull_server_groups/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: skip_creation_of_default_router
GET /api/override-settings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: LOGIN_LOGO_MULTILINGUAL
- New property: LOGIN_PAGE_CAROUSEL_SLIDES
- New property: LOGIN_PAGE_LAYOUT
- New property: LOGIN_PAGE_NEWS
- New property: LOGIN_PAGE_STATS
- New property: LOGIN_PAGE_VIDEO_URL
- Deleted property: ATLASSIAN_ISSUE_TYPES
- Deleted property: ATLASSIAN_SUPPORT_TYPE_MAPPING
POST /api/override-settings/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: LOGIN_LOGO_MULTILINGUAL
- New property: LOGIN_PAGE_CAROUSEL_SLIDES
- New property: LOGIN_PAGE_LAYOUT
- New property: LOGIN_PAGE_NEWS
- New property: LOGIN_PAGE_STATS
- New property: LOGIN_PAGE_VIDEO_URL
- Deleted property: ATLASSIAN_ISSUE_TYPES
- Deleted property: ATLASSIAN_SUPPORT_TYPE_MAPPING
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: LOGIN_LOGO_MULTILINGUAL
- New property: LOGIN_PAGE_CAROUSEL_SLIDES
- New property: LOGIN_PAGE_LAYOUT
- New property: LOGIN_PAGE_NEWS
- New property: LOGIN_PAGE_STATS
- New property: LOGIN_PAGE_VIDEO_URL
- Deleted property: ATLASSIAN_ISSUE_TYPES
- Deleted property: ATLASSIAN_SUPPORT_TYPE_MAPPING
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: LOGIN_LOGO_MULTILINGUAL
- New property: LOGIN_PAGE_CAROUSEL_SLIDES
- New property: LOGIN_PAGE_LAYOUT
- New property: LOGIN_PAGE_NEWS
- New property: LOGIN_PAGE_STATS
- New property: LOGIN_PAGE_VIDEO_URL
- Deleted property: ATLASSIAN_ISSUE_TYPES
- Deleted property: ATLASSIAN_SUPPORT_TYPE_MAPPING
GET /api/projects/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_affiliations user_email_patterns user_identity_sources]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
POST /api/projects/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/projects/checklist-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
- Modified property: questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
GET /api/projects/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [user_affiliations user_email_patterns user_identity_sources]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
PATCH /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
PUT /api/projects/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: application/x-www-form-urlencoded
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Modified media type: multipart/form-data
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/projects/{uuid}/checklist/
- New query param: include_all
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: dependencies_info
- Properties changed
- New property: dependencies_info
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
POST /api/projects/{uuid}/move_project/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
POST /api/projects/{uuid}/recover/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: user_affiliations
- New property: user_email_patterns
- New property: user_identity_sources
GET /api/proposal-proposals/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: supporting_documentation
- Items changed
- Required changed
- New required property: uuid
- Properties changed
- New property: uuid
POST /api/proposal-proposals/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: supporting_documentation
- Items changed
- Required changed
- New required property: uuid
- Properties changed
- New property: uuid
GET /api/proposal-proposals/checklist-template/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: initial_visible_questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
- Modified property: questions
- Items changed
- Properties changed
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
GET /api/proposal-proposals/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: supporting_documentation
- Items changed
- Required changed
- New required property: uuid
- Properties changed
- New property: uuid
GET /api/proposal-proposals/{uuid}/checklist/
- New query param: include_all
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: dependencies_info
- Properties changed
- New property: dependencies_info
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
GET /api/proposal-proposals/{uuid}/checklist_review/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: questions
- Items changed
- Required changed
- New required property: dependencies_info
- Properties changed
- New property: dependencies_info
- Modified property: max_value
- Description changed from 'Maximum value allowed for NUMBER type questions' to 'Maximum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: min_value
- Description changed from 'Minimum value allowed for NUMBER type questions' to 'Minimum value allowed for NUMBER, YEAR, and RATING type questions'
- Modified property: question_type
- Property 'AllOf' changed
- Modified schema: #/components/schemas/QuestionTypeEnum
- New enum values: [phone_number year email url country rating datetime]
GET /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
POST /api/proposal-proposals/{uuid}/resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
PATCH /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
PUT /api/proposal-proposals/{uuid}/resources/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/proposal-protected-calls/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [proposal_slug_template]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: proposal_slug_template
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
POST /api/proposal-protected-calls/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: proposal_slug_template
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: proposal_slug_template
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/proposal-protected-calls/{uuid}/
- Modified query param: field
- Schema changed
- Items changed
- New enum values: [proposal_slug_template]
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: proposal_slug_template
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
PATCH /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: proposal_slug_template
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: proposal_slug_template
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
PUT /api/proposal-protected-calls/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: proposal_slug_template
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: proposal_slug_template
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
POST /api/proposal-protected-calls/{uuid}/activate/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: proposal_slug_template
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
POST /api/proposal-protected-calls/{uuid}/archive/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: proposal_slug_template
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
POST /api/proposal-protected-calls/{uuid}/offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
PATCH /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
PUT /api/proposal-protected-calls/{uuid}/offerings/{obj_uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
POST /api/proposal-protected-calls/{uuid}/rounds/{obj_uuid}/close/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: proposal_slug_template
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: proposal_slug_template
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/proposal-public-calls/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/proposal-public-calls/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: offerings
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/proposal-requested-offerings/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/proposal-requested-offerings/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/proposal-requested-resources/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/proposal-requested-resources/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: requested_offering
- Property 'AllOf' changed
- Modified schema: #/components/schemas/NestedRequestedOffering
- Properties changed
- Modified property: options
- Property 'AllOf' changed
- Modified schema: #/components/schemas/OfferingOptions
- Properties changed
- Modified property: options
- AdditionalProperties changed
- Properties changed
- Modified property: default_configs
- Properties changed
- Modified property: default_controller_etcd_disk_gb
- Min changed from 10 to 1
- Modified property: default_controller_ram_gb
- Max changed from 64 to 128
- Modified property: default_controller_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_controller_vcpus
- Max changed from 16 to 64
- Modified property: default_lb_logs_disk_gb
- Min changed from 10 to 1
- Max changed from 1000 to 2000
- Modified property: default_lb_ram_gb
- Max changed from 64 to 256
- Modified property: default_lb_system_disk_gb
- Min changed from 20 to 1
- Modified property: default_lb_vcpus
- Max changed from 16 to 32
- Modified property: default_storage_data_disk_gb
- Min changed from 10 to 1
- Modified property: default_storage_san_disk_gb
- Min changed from 100 to 1
- Modified property: default_worker_data_disk_gb
- Min changed from 10 to 1
- Modified property: minimal_worker_vcpus
- Max changed from 16 to 32
GET /api/support-issue-statuses/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/IssueStatusType
- Schemas deleted: #/components/schemas/IssueStatusTypeEnum
POST /api/support-issue-statuses/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/IssueStatusType
- Schemas deleted: #/components/schemas/IssueStatusTypeEnum
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: type_display
- Deleted required property: url
- Deleted required property: uuid
- Properties changed
- Deleted property: type_display
- Deleted property: url
- Deleted property: uuid
- Modified property: type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/IssueStatusType
- Schemas deleted: #/components/schemas/IssueStatusTypeEnum
GET /api/support-issue-statuses/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/IssueStatusType
- Schemas deleted: #/components/schemas/IssueStatusTypeEnum
PATCH /api/support-issue-statuses/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/IssueStatusType
- Schemas deleted: #/components/schemas/IssueStatusTypeEnum
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/IssueStatusType
- Schemas deleted: #/components/schemas/IssueStatusTypeEnum
PUT /api/support-issue-statuses/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/IssueStatusType
- Schemas deleted: #/components/schemas/IssueStatusTypeEnum
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: type_display
- Deleted required property: url
- Deleted required property: uuid
- Properties changed
- Deleted property: type_display
- Deleted property: url
- Deleted property: uuid
- Modified property: type
- Property 'AllOf' changed
- Schemas added: #/components/schemas/IssueStatusType
- Schemas deleted: #/components/schemas/IssueStatusTypeEnum
GET /api/support-issues/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: order_customer_uuid
- New required property: order_project_uuid
- New required property: order_resource_name
- New required property: order_uuid
- New required property: processing_log
- Properties changed
- New property: order_customer_uuid
- New property: order_project_uuid
- New property: order_resource_name
- New property: order_uuid
- New property: processing_log
POST /api/support-issues/
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: order_customer_uuid
- New required property: order_project_uuid
- New required property: order_resource_name
- New required property: order_uuid
- New required property: processing_log
- Properties changed
- New property: order_customer_uuid
- New property: order_project_uuid
- New property: order_resource_name
- New property: order_uuid
- New property: processing_log
GET /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: order_customer_uuid
- New required property: order_project_uuid
- New required property: order_resource_name
- New required property: order_uuid
- New required property: processing_log
- Properties changed
- New property: order_customer_uuid
- New property: order_project_uuid
- New property: order_resource_name
- New property: order_uuid
- New property: processing_log
PATCH /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: order_customer_uuid
- New required property: order_project_uuid
- New required property: order_resource_name
- New required property: order_uuid
- New required property: processing_log
- Properties changed
- New property: order_customer_uuid
- New property: order_project_uuid
- New property: order_resource_name
- New property: order_uuid
- New property: processing_log
PUT /api/support-issues/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: order_customer_uuid
- New required property: order_project_uuid
- New required property: order_resource_name
- New required property: order_uuid
- New required property: processing_log
- Properties changed
- New property: order_customer_uuid
- New property: order_project_uuid
- New property: order_resource_name
- New property: order_uuid
- New property: processing_log
POST /api/support-issues/{uuid}/sync/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: order_customer_uuid
- New required property: order_project_uuid
- New required property: order_resource_name
- New required property: order_uuid
- New required property: processing_log
- Properties changed
- New property: order_customer_uuid
- New property: order_project_uuid
- New property: order_resource_name
- New property: order_uuid
- New property: processing_log
POST /api/support-jira-webhook/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: webhookEvent
- Deleted enum values: [jira:issue_updated jira:issue_deleted comment_created comment_updated comment_deleted]
- MinLength changed from 0 to 1
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- Modified property: webhookEvent
- Deleted enum values: [jira:issue_updated jira:issue_deleted comment_created comment_updated comment_deleted]
GET /api/user-actions/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Properties changed
- New property: offering_name
- New property: offering_type
- New property: organization_name
- New property: organization_uuid
- New property: project_name
- New property: project_uuid
- New property: route_name
- New property: route_params
- Deleted property: action_url
- Deleted property: metadata
- Modified property: corrective_actions
- Items changed
- Required changed
- Deleted required property: url
- Properties changed
- New property: route_name
- New property: route_params
- Deleted property: url
POST /api/user-actions/update_actions/
- Description changed from 'Trigger update of user actions (admin only)' to 'Trigger update of user actions'
GET /api/user-actions/{id}/
- Modified path param: id
- Name changed from 'id' to 'uuid'
- Description changed from 'A unique integer value identifying this user action.' to ''
- Schema changed
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uuid'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: offering_name
- New property: offering_type
- New property: organization_name
- New property: organization_uuid
- New property: project_name
- New property: project_uuid
- New property: route_name
- New property: route_params
- Deleted property: action_url
- Deleted property: metadata
- Modified property: corrective_actions
- Items changed
- Required changed
- Deleted required property: url
- Properties changed
- New property: route_name
- New property: route_params
- Deleted property: url
POST /api/user-actions/{id}/execute_action/
- Modified path param: id
- Name changed from 'id' to 'uuid'
- Description changed from 'A unique integer value identifying this user action.' to ''
- Schema changed
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uuid'
POST /api/user-actions/{id}/silence/
- Modified path param: id
- Name changed from 'id' to 'uuid'
- Description changed from 'A unique integer value identifying this user action.' to ''
- Schema changed
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uuid'
POST /api/user-actions/{id}/unsilence/
- Modified path param: id
- Name changed from 'id' to 'uuid'
- Description changed from 'A unique integer value identifying this user action.' to ''
- Schema changed
- Type changed from 'integer' to 'string'
- Format changed from '' to 'uuid'
GET /api/user-agreements/
- Summary changed from '' to 'List user agreements'
- Description changed from '' to 'Retrieve a list of user agreements (Terms of Service and Privacy Policy). Supports filtering by agreement type and language with fallback behavior.'
- New query param: language
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- New required property: language
- Properties changed
- New property: language
HEAD /api/user-agreements/
- Summary changed from '' to 'List user agreements'
- New query param: language
POST /api/user-agreements/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: language
- Properties changed
- New property: language
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: language
- Properties changed
- New property: language
GET /api/user-agreements/{uuid}/
- Summary changed from '' to 'Retrieve user agreement'
- Description changed from '' to 'Fetch the details of a specific user agreement by its UUID.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: language
- Properties changed
- New property: language
PATCH /api/user-agreements/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: language
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: language
- Properties changed
- New property: language
PUT /api/user-agreements/{uuid}/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: language
- Properties changed
- New property: language
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: language
- Properties changed
- New property: language
GET /api/user-group-invitations/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Items changed
- Required changed
- Deleted required property: expires
- Properties changed
- New property: auto_approve
- New property: user_identity_sources
- Deleted property: expires
POST /api/user-group-invitations/
- Request body changed
- Content changed
- Modified media type: application/json
- Schema changed
- Properties changed
- New property: auto_approve
- New property: user_identity_sources
- Responses changed
- Modified response: 201
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: expires
- Properties changed
- New property: auto_approve
- New property: user_identity_sources
- Deleted property: expires
GET /api/user-group-invitations/{uuid}/
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- Deleted required property: expires
- Properties changed
- New property: auto_approve
- New property: user_identity_sources
- Deleted property: expires
POST /api/user-group-invitations/{uuid}/submit_request/
- Description changed from 'Creates a permission request based on a group invitation for the currently authenticated user.' to 'Creates a permission request based on a group invitation for the currently authenticated user. If the invitation has auto_approve enabled and the user matches the required patterns, the request is automatically approved.'
- Responses changed
- Modified response: 200
- Content changed
- Modified media type: application/json
- Schema changed
- Required changed
- New required property: auto_approved
- Properties changed
- New property: auto_approved
Ended: API Changes
Ended: APIs
SDK Examples ↵
Allocation Lifecycle Management by Service Provider
This page describes operations to be performed by service provider.
Prerequisites
Please, read initial setup for Waldur SDK.
Getting a list of users
list_users method is used to fetch all users in a Waldur instance.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | |
Getting a list of SSH keys
keys_list method is used to fetch all SSH keys in Waldur.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Getting a list of resource allocations
marketplace_resources_list method is used to fetch resources related to offerings, which belong to user's service provider.
Possible filter options for allocations (each one is optional):
provider_uuid- UUID of a service provider organization;state- current state of a resource allocation; for valid values please use the associated enum values from MarketplaceResourcesListStateItem;offering_uuid- UUID of a related resource;fields- list of fields to return (can be passed as as strings or imported fromMarketplaceResourcesListFieldItemenum, which includes fields likename,offering,state,limits,plan,project,url, and many others). Both examples are provided:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
Approving/rejecting allocation order by service provider
The service provider can either approve or reject order using
marketplace_orders_approve_by_provider and marketplace_orders_reject_by_provider correspondingly.
Both of these methods expect as its only argument UUID of an order for the allocation.
For example, a consumer requested an allocation using Order with CREATE type. After that, an empty allocation with CREATING state has appeared.
A service provider can change the state to ok (created successfully) using marketplace_orders_approve_by_provider or
rejected (creation rejected) using marketplace_orders_reject_by_provider.
In order to get a proper order, SP owner can use marketplace_orders_list method. This action is for order listing and supports filtering by state and allocation.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | |
Cancellation of orders for allocations
A consumer can also cancel created order and subsequently interrupt the requested operation over allocation.
For example, this option is suitable if the customer wants to cancel allocation deletion.
For this, marketplace_orders_cancel method should be used.
It changes the state of the order to canceled.
NB: this transition is possible only if the order's state is equal to pending-consumer or pending-provider and offering type is basic or support.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Updating resource allocation with local reference (setting backend_id field)
Each allocation can have a link to a service provider's internal reference using backend_id field. Only users with service provider owner and manager roles can set this value using marketplace_provider_resources_set_backend_id method of the client. It requires the following arguments:
uuid- UUID of a resource allocation;body- A request parameter of typeResourceBackendIDRequestthat contains thebackend_idfield, which is the unique identifier of the resource in the external system.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
In case if SDK usage is not possible, HTTP request can be sent:
1 2 3 4 5 6 7 8 9 10 11 | |
Providing additional access detail for resource allocation
For additional details related to allocation access, report data is used.
In order to provide this information, owners and managers can use marketplace_resource_submit_report method. It requires the following arguments:
uuid- UUID of a resource allocation;report- A list ofReportSectionRequestinstances that is wrapped in aResourceReportRequestobject. EachReportSectionRequestcontains a header and body content. TheResourceReportRequestserves as a container for these report sections when submitting the report to the API.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Pagination
The Waldur API Client SDK supports pagination for list endpoints using page and page_size parameters.
Example paginating API results
1 2 3 4 5 6 7 8 | |
Filtering API Response Fields Using Enum Types
The marketplace_service_providers_list endpoint allows you to specify which fields you want to retrieve from the service provider objects. This is done using the field parameter with enum values from MarketplaceServiceProvidersListFieldItem. The field parameter is present for different API endpoints to allow selective retrieval of specific fields from the response objects.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Getting a list of members in a project with active resource allocations
Service provider owners and managers can list project members using a resource allocation with marketplace_resources_team_list method.
It requires the following arguments:
resource_uuid- UUID of a resource allocation.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Reporting usage for a resource allocation
A usage of a resource allocation can be submitted by a corresponding service provider. For this, the following methods are used:
marketplace_public_offerings_retrieve- getting offering with components info. Arguments:-
offering_uuid- UUID of an offering -
marketplace_resources_plan_periods_list- getting current plan periods for resource allocation. Arguments: -
resource_uuid- UUID of a resource -
marketplace_plan_components_list- retrieves the list of components for a specific offering. Arguments: offering_uuid- UUID of the offering to get components for-
client- API client instance -
marketplace_component_usages_set_usage- creates or updates component usage for the current plan. Arguments: body- parameter of typeComponentUsageCreateRequestcontaining:resource_uuid- UUID of the resourceusages- list ofComponentUsageinstances
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | |
Granting user access to resource
An access to a resource can be granted by service provider for a particular user with specification of username.
A result is represented by triplet [user, resource, username].
For this purpose, marketplace_offering_users_create should be invoked. This method requires the following arguments:
marketplace_offering_users_create- creates a new offering user mapping. Arguments:body- parameter of typeOfferingUserRequestcontaining:offering- URL of the target offeringuser- URL of the target userusername- username to be associated with the user in the offering context
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
In case if SDK usage is not possible, HTTP request can be sent:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Granting user access to corresponding resources in batch manner
A service provider can grant access mentioned in the previous section to all resources used in projects including a target user.
For such access creation or update, marketplace_service_providers_set_offerings_username is used.
The method requires the following arguments:
marketplace_service_providers_set_offerings_username- sets or updates the username for a user across all offerings of a service provider. Arguments:uuid- UUID of the service providerbody- parameter of typeSetOfferingsUsernameRequestcontaining:user_uuid- UUID of the target userusername- new username to be set for the user across all offerings
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Getting service provider for an organization
A user can get service provider details
using marketplace_service_providers_list with corresponding filter.
This method is guaranteed to return a list with at most one service provider record.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Listing users of service provider's resources
A service provider owner can list users currently using its resources.
For this, marketplace_service_providers_users_list should be used. It accepts service_provider_uuid,
which can be fetched using marketplace_service_providers_list.
marketplace_service_providers_users_list- retrieves a list of users associated with a service provider's resources. Arguments:service_provider_uuid- UUID of the service providerclient- API client instance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
Listing ssh key for users of service provider's resources
A service provider owner can list ssh keys of users currently using its resources.
For this, list_service_provider_ssh_keys should be used. It accepts service_provider_uuid,
which can be fetched using marketplace_service_providers_list.
marketplace_service_providers_keys_list- retrieves a list of SSH keys associated with users of a service provider's resources. Arguments:service_provider_uuid- UUID of the service providerclient- API client instance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
Listing projects with service provider's resources
A service provider owner can list all projects, which have its resources.
For this, list_service_provider_projects should be used. It accepts service_provider_uuid,
which can be fetched using marketplace_service_providers_list.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | |
Listing project permissions in projects using service provider's resources
A service provider owner can also list all active projects permissions in projects, which have its resources.
For this, marketplace_service_providers_project_permissions_list should be used. It accepts service_provider_uuid,
which can be fetched using marketplace_service_providers_list.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | |
Creating Offerings
Service providers can create new offerings using the Waldur SDK. The following example demonstrates how to create a new offering with components and plans.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | |
Ended: SDK Examples
Ansible ↵
Ansible Waldur Module Generator
This project is a code generator designed to automate the creation of a self-contained Ansible Collection for the Waldur API. By defining a module's behavior and its API interactions in a simple YAML configuration file, you can automatically generate robust, well-documented, and idempotent Ansible modules, perfectly packaged for distribution and use.
The primary goal is to eliminate boilerplate code, enforce consistency, and dramatically speed up the development process for managing Waldur resources with Ansible. The official Waldur Ansible Collection generated by this tool is published on Ansible Galaxy.
Core Concept
The generator works by combining three main components:
- OpenAPI Specification: The single source of truth for all available Waldur API endpoints.
- Generator Configuration (
generator_config.yaml): A user-defined YAML file where you describe the Ansible Collection and the modules you want to create. - Plugins: The engine of the generator. Each plugin understands a specific workflow (e.g., fetching facts, simple CRUD, or complex marketplace orders) and contains the logic to build the corresponding Ansible module code.
Getting Started
Prerequisites
- Python 3.11+
- uv
- Ansible Core (
ansible-core >= 2.14)
Installation
- Clone the repository and navigate into the directory.
-
Install dependencies:
1uv sync
Running the Generator
To generate the Ansible Collection(s) as defined in inputs/generator_config.yaml, run:
1 | |
The generated collections will be placed in the outputs/ directory.
Documentation Guides
This project's documentation is split into guides tailored for different audiences. Find the one that best describes your goal.
For Ansible Users (Using Generated Collections)
Audience: Users who want to manage Waldur resources using a pre-built Ansible collection like
waldur.openstackorwaldur.structure.
This guide covers everything you need to know to write effective and clean playbooks.
- Installing collections from Ansible Galaxy.
- Writing playbooks to create, update, and delete resources.
- Reducing boilerplate with
module_defaults. - Using
_factsmodules for dynamic resource lookups. - Mapping terms from the Waldur UI to Ansible parameters.
➡️ See the full Best Practices Guide for detailed examples.
For Module Authors (Using the Generator)
Audience: Developers who want to use this generator to create a new Ansible Collection or add new modules to an existing one.
This guide provides a deep dive into the generator's configuration and plugin system.
- Understanding the generator's workflow.
- Configuring collections and modules in
generator_config.yaml. - Detailed explanations of each plugin (
facts,crud,order,actions,link). - Using YAML anchors to keep your configuration DRY.
- Testing and publishing a generated collection.
➡️ Dive into the Module Author Guide to get started.
For Generator Developers (Contributing to this Project)
Audience: Contributors who want to extend the generator's core functionality, such as by adding a new plugin or improving the testing framework.
These guides explain the internal architecture and testing strategy of the generator itself.
- Plugin Author Guide: Explains the internal architecture, the "Plan and Execute" runtime model, the powerful resolver system, and provides a step-by-step tutorial for creating a new plugin from scratch.
- Test Author Guide: Details our end-to-end testing strategy using
pytestandVCR.py, explaining how to run tests and how to record new "cassettes" for new or modified tests.
➡️ Start with the Plugin Author Guide and the Test Author Guide.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Docs ↵
Best practices
Installing from Ansible Galaxy
Once the collection is published, any Ansible user can easily install and use it.
- Install the Collection:
1 | |
-
Use it in a Playbook: After installation, the modules are available globally. Users can simply write playbooks referencing the FQCN.
1 2 3 4 5 6 7 8 9 10
- name: Create a Waldur Project hosts: my_control_node tasks: - name: Ensure project exists waldur.structure.project: state: present name: "Production Project" customer: "Customer Name" api_url: "http://127.0.0.1:8000/api/" access_token: "{{ my_waldur_token }}"
Use in a Playbook
This is the standard and recommended way to use the collection for automation.
test_playbook.yml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Run the playbook:
1 2 3 4 5 6 | |
Example Output (Success, resource created):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | |
Running Modules Locally
Since all Waldur modules interact with a remote API, they are considered "control-plane" modules.
They should always be executed from the Ansible control node (localhost), not on remote target hosts.
The recommended way to achieve this is by setting connection: local at the top of your playbook.
manage_waldur.yml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
This ensures that Ansible runs the tasks on the machine executing the playbook, which is the correct context for making API calls.
Reducing Boilerplate with module_defaults
To avoid repeating common parameters like api_url, access_token, customer, project, and tenant
in every task, you can use Ansible's powerful module_defaults feature. Each generated Waldur collection
comes with a predefined action group that includes all of its modules.
You can set default values for these parameters once at the play or block level, making your playbooks dramatically cleaner and easier to maintain.
Before (Repetitive and Hard to Read):
Without module_defaults, a typical OpenStack provisioning playbook becomes verbose and error-prone,
with the same five context parameters repeated in every task.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | |
After (Clean, DRY, and Recommended):
By using module_defaults, you define the shared context once. The tasks become short, readable,
and focused only on what makes them unique.
The generator creates a group named after the collection.
For the waldur.openstack collection, the group name is waldur.openstack.openstack.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | |
This approach leverages standard Ansible features to provide the exact convenience you're looking for, making the generated collections a pleasure to use in complex, real-world scenarios.
Dynamic Resource Composition (Find-Then-Use)
This is a powerful and highly recommended best practice that combines facts modules
with resource management modules (order or crud). It allows you to write
declarative playbooks that don't rely on hardcoded, opaque identifiers like URLs or UUIDs.
The workflow is simple:
- Use a
factsmodule with filters (fixed_ips,network_name, etc.) to find the exact resource you need. The module will ensure exactly one resource is found. - Register the result.
- Use the
urlfrom the registeredresourceobject to create or update another resource.
This pattern is the solution for attaching pre-existing resources, such as a network port with a specific IP address, to a new VM.
Example: Create a VM and attach a pre-existing port by its IP address.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
Low-Level Order Management (crud plugin on orders)
This is an advanced pattern for users who need to interact directly with the order object itself, similar
to the old generic waldur_marketplace module. The waldur.marketplace.order module is used for this.
- You define the order itself, passing all resource-specific details in the
attributesdictionary. - The module creates the order and returns the order object. It does not wait for the resource to be provisioned.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
Mapping UI Terms to Ansible Parameters
To provide the best possible user experience, Ansible playbook parameters are designed to be intuitive. However, terminology can sometimes differ between the Waldur Web UI and the underlying cloud platform (like OpenStack). This guide provides a mapping for the most common terms to help you write your playbooks with confidence.
| Waldur UI Term | Ansible Parameter | OpenStack Term | Notes |
|---|---|---|---|
| Organization | customer |
N/A | This is the top-level entity in Waldur that holds projects and cloud resources. |
| Project | project |
N/A | Waldur project is a container for organizing resources and teams. |
| Virtual Private Cloud / VPC | tenant |
Project / Tenant | In Ansible term Tenant is used. |
| Instance / VM | instance |
Server | OpenStack refer to this as a "Server". |
Modele author guide
Core Concept
The generator works by combining three main components:
- OpenAPI Specification (
waldur_api.yaml): The single source of truth for all available API endpoints, their parameters, and their data models. - Generator Configuration (
generator_config.yaml): A user-defined YAML file where you describe the Ansible Collection and the modules you want to create. This is where you map high-level logic (like "create a resource") to specific API operations. - Plugins: The engine of the generator. A plugin understands a specific workflow or pattern (e.g., fetching facts, simple CRUD, or complex marketplace orders) and contains the logic to build the corresponding Ansible module code.
Getting Started
Prerequisites
- Python 3.11+
- uv (for dependency management and running scripts)
- Ansible Core (
ansible-core >= 2.14) for building and using the collection.
Installation
- Clone the repository:
1 2 | |
- Install the required Python dependencies using uv:
1 | |
This will create a virtual environment and install packages like PyYAML, and Pytest.
Running the Generator
To generate the Ansible Collection, run the generate script defined in pyproject.toml:
1 | |
By default, this command will:
- Read
inputs/generator_config.yamlandinputs/waldur_api.yaml. - Use the configured collection name (e.g.,
waldur.openstack) to create a standard Ansible Collections structure. - Place the generated collection into the
outputs/directory.
The final structure will look like this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
You can customize the path using command-line options:
1 | |
Run uv run ansible-waldur-generator --help for a full list of options.
The Plugin System
The generator uses a plugin-based architecture to handle different types of module logic. Each plugin is
specialized for a common interaction pattern with the Waldur API. When defining a module in
generator_config.yaml, the type key determines which plugin will be used.
The header defines Ansible collection namespace, name and version.
1 2 3 4 5 6 7 | |
Below is a detailed explanation of each available plugin.
1. The facts Plugin
-
Purpose: For creating read-only Ansible modules that fetch information about existing resources. These modules never change the state of the system and are analogous to Ansible's
_factsmodules (e.g.,setup_facts). -
Workflow:
- The module's primary goal is to find and return resource data based on an identifier (by default,
name). - The module expects to find a single resource. It will fail if zero or multiple resources are found, prompting the user to provide a more specific identifier.
-
It can filter its search based on parent resources (like a
projectortenant). This is configured using the standardresolversblock. -
Configuration Example (
generator_config.yaml): This example creates awaldur_openstack_security_group_factsmodule to get information about security groups within a specific tenant.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
modules: - name: security_group_facts plugin: facts resource_type: "security group" description: "Get facts about OpenStack security groups." # Defines the base prefix for API operations. The 'facts' plugin uses # this to automatically infer the necessary operation IDs: # - `list`: via `openstack_security_groups_list` # - `retrieve`: via `openstack_security_groups_retrieve` # This avoids the need for an explicit 'operations' block for conventional APIs. base_operation_id: "openstack_security_groups" # If `true`, the module is allowed to return a list of multiple resources # that match the filter criteria. An empty list is a valid result. # If `false` (the default), the module would fail if zero or more than one # resource is found, ensuring a unique result. many: true # This block defines how to resolve context parameters to filter the search. resolvers: # Using shorthand for the 'tenant' resolver. The generator will infer # 'openstack_tenants_list' and 'openstack_tenants_retrieve' from the base. tenant: base: "openstack_tenants" # This key is crucial. It tells the generator to use the resolved # tenant's UUID as a query parameter named 'tenant_uuid' when calling # the `openstack_security_groups_list` operation. check_filter_key: "tenant_uuid"
2. The crud Plugin
-
Purpose: For managing the full lifecycle of resources with simple, direct, synchronous API calls. This is ideal for resources that have distinct
create,list,update, anddestroyendpoints. -
Workflow:
state: present:- Calls the
listoperation to check if a resource with the given name already exists. - If it does not exist, it calls the
createoperation. - If it does exist, it checks for changes:
- For simple fields in
update_config.fields, it sends aPATCHrequest if values differ. - For complex
update_config.actions, it calls a dedicatedPOSTendpoint. If this action is asynchronous (returns202 Accepted) andwait: true, it will poll the resource until it reaches a stable state.
- Calls the
-
state: absent: Finds the resource and calls thedestroyoperation. -
Return Values:
resource: A dictionary representing the final state of the resource.commands: A list detailing the HTTP requests made.-
changed: A boolean indicating if any changes were made. -
Configuration Example (
generator_config.yaml): This example creates asecurity_groupmodule that is a nested resource under a tenant and supports both simple updates (description) and a complex, asynchronous action (set_rules).1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
modules: - name: security_group plugin: crud resource_type: "OpenStack security group" description: "Manage OpenStack Security Groups and their rules in Waldur." # The core prefix for inferring standard API operation IDs. # The generator automatically enables: # - `check`: via `openstack_security_groups_list` # - `destroy`: via `openstack_security_groups_destroy` base_operation_id: "openstack_security_groups" # The 'operations' block is now for EXCEPTIONS and detailed configuration. operations: # Override the 'create' operation because it's a NESTED action under a # tenant and doesn't follow the standard '[base_id]_create' pattern. create: id: "openstack_tenants_create_security_group" # This block maps the placeholder in the API URL path # (`/api/openstack-tenants/{uuid}/...`) to an Ansible parameter (`tenant`). path_params: uuid: "tenant" # Explicitly define the update operation to infer updatable fields from. update: id: "openstack_security_groups_partial_update" # Define a special, idempotent action for managing rules. actions: set_rules: # The specific operationId to call for this action. operation: "openstack_security_groups_set_rules" # The Ansible parameter that triggers this action. The runner only # calls the operation if the user provides 'rules' AND its value # differs from the resource's current state. param: "rules" # Define how the module should wait for asynchronous actions to complete. wait_config: ok_states: ["OK"] # State(s) that mean success. erred_states: ["ERRED"] # State(s) that mean failure. state_field: "state" # Key in the resource dict that holds the state. # Define how to resolve dependencies. resolvers: # A resolver for 'tenant' is required by `path_params` for the 'create' # operation. This tells the generator how to convert a user-friendly # tenant name into the internal UUID needed for the API call. tenant: "openstack_tenants" # Shorthand for the tenants resolver.
3. The order Plugin
-
Purpose: The most powerful plugin, designed for resources managed through Waldur's asynchronous marketplace order workflow. This is for nearly all major cloud resources like VMs, volumes, databases, etc.
-
Key Features:
- Attribute Inference: Specify an
offering_typeto have the generator automatically create all necessary Ansible parameters from the API schema, drastically reducing boilerplate. - Termination Attributes: Define optional parameters for deletion (e.g.,
force_destroy) by configuring theoperations.deleteblock. -
Hybrid Updates: Intelligently handles both simple
PATCHupdates and complex, asynchronousPOSTactions on existing resources. -
Workflow:
state: present:- Checks if the resource exists.
- If not, it creates a marketplace order and polls for completion.
- If it exists, it performs direct synchronous (
PATCH) or asynchronous (POSTwith polling) updates as needed.
-
state: absent: Finds the resource and calls themarketplace_resources_terminateendpoint. -
Configuration Example (
generator_config.yaml): This example creates a marketplacevolumemodule.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
modules: - name: volume plugin: order resource_type: "OpenStack volume" description: "Create, update, or delete an OpenStack Volume via the marketplace." # The most important key for this plugin. The generator will find the # 'OpenStack.Volume' schema and auto-create Ansible parameters for # 'size', 'type', 'image', 'availability_zone', etc. offering_type: "OpenStack.Volume" # The base prefix for inferring standard API operations. The plugin uses this for: # - `check`: `openstack_volumes_list` (to see if the volume already exists). # - `update`: `openstack_volumes_partial_update` (for direct updates). base_operation_id: "openstack_volumes" # This block defines how to resolve dependencies and filter choices. resolvers: # This resolver is for the 'type' parameter, which was auto-inferred. type: # Shorthand for the volume types API endpoints. base: "openstack_volume_types" # A powerful feature for dependent filtering. It tells the generator # to filter available volume types based on the cloud settings # of the selected 'offering'. filter_by: - # Use the resolved 'offering' parameter as the filter source. source_param: "offering" # Extract this key from the resolved offering's API response. source_key: "scope_uuid" # Use it as this query parameter. The final API call will be: # `.../openstack-volume-types/?tenant_uuid=<offering_scope_uuid>` target_key: "tenant_uuid"
4. The actions Plugin
-
Purpose: For creating modules that execute specific, one-off actions on an existing resource (e.g.,
reboot,pull,start). These modules are essentially command runners for your API. -
Workflow:
- Finds the target resource using an identifier and optional context filters. Fails if not found.
- Executes a
POSTrequest to the API endpoint corresponding to the user-selectedaction. -
Always reports
changed=Trueon success and returns the resource's state after the action. -
Configuration Example (
generator_config.yaml): This example creates avpc_actionmodule to perform operations on an OpenStack Tenant (VPC).1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
modules: - name: vpc_action plugin: actions resource_type: "OpenStack tenant" description: "Perform actions on an OpenStack tenant (VPC)." # The base ID used to infer `_list`, `_retrieve`, and all action operations. # For example, 'pull' becomes 'openstack_tenants_pull'. base_operation_id: "openstack_tenants" # A list of action names. These become the `choices` for the module's # `action` parameter. The generator infers the full `operationId` for each. actions: - pull - unlink # Use resolvers to help locate the specific resource to act upon. resolvers: project: base: "projects" check_filter_key: "project_uuid"
5. The link Plugin
The link plugin is designed for a special but common use case: managing the state
of a relationship between two existing resources. It generates modules that can,
for example, attach a volume to a server, add a user to a project, or assign a
floating IP to a port.
Its core responsibility is to determine if the source resource is currently
linked to the target resource and execute an API call to create or remove that link
based on state: present or state: absent.
Configuration Example
Here is a complete configuration for generating a volume_attachment module using
the link plugin. This module attaches and detaches OpenStack volumes.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | |
Key link Plugin Options
source: A dictionary defining the "active" resource in the relationship.param: The name of the Ansible parameter for this resource (e.g.,volume).resource_type: A user-friendly name (e.g.,volume).retrieve_op: TheoperationIdfor fetching the full details of this resource.target: A dictionary defining the "passive" resource being linked to.link_op/unlink_op: TheoperationIds for the API calls that create and remove the link (e.g.,..._attachand..._detach).link_check_key: The field name on the source resource's data that contains the URL or reference to the target when they are linked. This is the heart of the idempotency check.link_params: A list of additional parameters that are only relevant for thelink_op(e.g., thedevicepath for a volume attachment).resolvers: A standard resolver map used to find thesource,target, and any other context resources (liketenantorproject).
Reusable Configuration with YAML Anchors
To keep your generator_config.yaml file DRY (Don't Repeat Yourself) and maintainable, you can use YAML's
built-in anchors (&) and aliases (*). The generator fully supports this, allowing you to define a
configuration block once and reuse it. A common convention is to create a top-level definitions key to hold
these reusable blocks.
Example 1: Reusing a Common Resolver
Before (Repetitive):
1 2 3 4 5 6 | |
After (Reusable):
We define the resolver once with an anchor &tenant_resolver, then reuse it with the alias *tenant_resolver.
1 2 3 4 5 6 7 8 9 10 11 | |
Example 2: Composing Configurations with Merge Keys
You can combine anchors with the YAML merge key (<<) to build complex configurations from smaller,
reusable parts. This is perfect for creating a set of resolvers that apply to most resources in a collection.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
By using these standard YAML features, you can significantly reduce duplication and make your generator configuration cleaner and easier to manage.
How to Use the Generated Collection
Once generated, the collection can be used immediately for local testing or packaged for distribution. End-users who are not developing the generator can skip directly to the "Installing from Ansible Galaxy" section.
The most straightforward way to test is to tell Ansible where to find your newly generated collection by setting an environment variable.
- Set the Collection Path: From the root of your project, run:
1 | |
This command tells Ansible to look for collections inside the outputs directory. This setting lasts for
your current terminal session.
- Run an Ad-Hoc Command: You can now test any module using its Fully Qualified Collection Name (FQCN). This is perfect for a quick check.
Command:
1 2 3 4 5 6 7 | |
Example Output (Success, resource created):
json
localhost | CHANGED => {
"changed": true,
"commands": [
{
"body": {
"customer": "https://api.example.com/api/customers/...",
"name": "My AdHoc Project"
},
"description": "Create new project",
"method": "POST",
"url": "https://api.example.com/api/projects/"
}
],
"resource": {
"created": "2024-03-21T12:00:00.000000Z",
"customer": "https://api.example.com/api/customers/...",
"customer_name": "Big Corp",
"description": "",
"name": "My AdHoc Project",
"url": "https://api.example.com/api/projects/...",
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Publishing and Installing
Publishing to Ansible Galaxy
The generated output is ready to be published, making your modules available to everyone.
- Build the Collection Archive: Navigate to the root of the generated collection and run the build command. The output tarball will be placed in the parent directory.
1 2 3 4 5 | |
This will create a file like outputs/waldur-structure-1.0.0.tar.gz.
- Get a Galaxy API Key:
- Log in to galaxy.ansible.com.
- Navigate to
Namespacesand select your namespace. -
Copy your API key from the "API Key" section.
-
Publish the Collection: Use the
ansible-galaxycommand to upload your built archive.1 2 3 4 5 6
# Set the token as an environment variable (note the correct variable name) export ANSIBLE_GALAXY_TOKEN="your_copied_api_key" # From the `outputs` directory, publish the tarball cd outputs/ ansible-galaxy collection publish waldur-structure-1.0.0.tar.gz
Plugin author guide
Architecture
The generator's architecture is designed to decouple the Ansible logic from the API implementation details. It
achieves this by using the generator_config.yaml as a "bridge" between the OpenAPI specification and the
generated code. The generator can produce multiple, self-contained Ansible Collections in a single run.
graph TD
subgraph "Inputs"
B[waldur_api.yaml]
A[generator_config.yaml]
end
subgraph "Engine"
C{Generator Script}
D[Generic Module <br>Template String]
end
subgraph "Output"
E[Generated Ansible Module <br>project.py]
end
A --> C
B --> C
C -- Builds GenerationContext via Plugins --> D
D -- Renders final code --> E
Plugin-Based Architecture
The system's flexibility comes from its plugin architecture. The Generator itself does not know the
details of a crud module versus an order module. It only knows how to interact with the BasePlugin
interface.
- Plugin Discovery: The
PluginManageruses Python's entry point system to automatically discover and register plugins at startup. - Delegation: The
Generatorreads a module'spluginkey from the config and asks thePluginManagerfor the corresponding plugin. - Encapsulation: Each plugin fully encapsulates the logic for its type. It knows how to parse its specific
YAML configuration, interact with the
ApiSpecParserto get operation details, and build the finalGenerationContextneeded to render the module. - Plugin Contract: All plugins implement the
BasePlugininterface, which requires a centralgenerate()method. This ensures a consistent interaction pattern between theGeneratorand all plugins.
Runtime Logic (Runners and the Resolver)
The logic that executes at runtime inside an Ansible module is split between two key components: Runners and the ParameterResolver.
-
Runners (
runner.py): Each plugin is paired with arunner.pyfile (e.g.,CrudRunner,OrderRunner). This runner contains the Python logic for the module's state management (create, update, delete). The generated module file (e.g.,project.py) is a thin wrapper that calls its corresponding runner. The generator copies the runner and abase_runner.pyinto the collection'splugins/module_utils/directory and rewrites their imports, making the collection fully self-contained. -
ParameterResolver: This is a powerful, centralized utility that is composed within each runner. Its sole responsibility is to handle the complex, recursive resolution of user-friendly inputs (like resource names) into the URLs or other data structures required by the API. By centralizing this logic, runners are kept clean and focused on their state-management tasks. The resolver supports:
- Simple name/UUID to URL conversion.
- Recursive resolution of nested dictionaries and lists.
- Caching of API responses to avoid redundant network calls.
- Dependency-based filtering (e.g., filtering flavors by the tenant of a resolved offering).
The "Plan and Execute" Runtime Model
While the generator builds the module code, the real intelligence lies in the runtime architecture it creates.
All generated modules follow a robust, two-phase "plan and execute" workflow orchestrated by a BaseRunner
class, which is vendored into the collection's module_utils.
-
Planning Phase: The
BaseRunnerfirst determines the current state of the resource (does it exist?). It then calls aplan_*method (e.g.,plan_creation,plan_update) corresponding to the desired state. This planning method does not make any changes to the system. Instead, it builds a list ofCommandobjects. EachCommandis a simple data structure that encapsulates a single, atomic API request (method, path, body). -
Execution Phase: If not in check mode, the
BaseRunneriterates through the generated plan and executes eachCommand, making the actual API calls.
This separation provides key benefits:
- Perfect Check Mode: Since the planning phase is purely declarative and makes no changes, check mode works perfectly by simply serializing the plan without executing it.
- Clear Auditing: The final output of a module includes a
commandskey, which is a serialized list of the exact HTTP requests that were planned and executed. This provides complete transparency. - Consistency: All module types (
crud,order) use the same underlyingBaseRunnerandCommandstructure, ensuring consistent behavior.
The diagram below illustrates this runtime workflow.
sequenceDiagram
participant Ansible
participant Generated Module
participant Runner
participant API
Ansible->>+Generated Module: main()
Generated Module->>+Runner: run()
Runner->>Runner: check_existence()
Runner->>API: GET /api/resource/?name=...
API-->>Runner: Resource exists / does not exist
Note over Runner: Planning Phase (No Changes)
Runner->>Runner: plan_creation() / plan_update()
Note over Runner: Builds a list of Command objects
alt Check Mode
Runner->>Generated Module: exit_json(changed=true, commands=[...])
else Execution Mode
Runner->>Runner: execute_change_plan()
loop For each Command in plan
Runner->>API: POST/PATCH/DELETE ...
API-->>Runner: API Response
end
Runner->>Generated Module: exit_json(changed=true, resource={...}, commands=[...])
end
deactivate Runner
Generated Module-->>-Ansible: Final Result
The Resolvers Concept: Bridging the Human-API Gap
At the heart of the generator's power is the Resolver System. Its fundamental purpose is to bridge the gap between a human-friendly Ansible playbook and the strict requirements of a machine-focused API.
-
The Problem: An Ansible user wants to write
customer: 'Big Corp Inc.'. However, the Waldur API requires a full URL for the customer field when creating a new project, likecustomer: 'https://api.example.com/api/customers/a1b2-c3d4-e5f6/'. Asking users to find and hardcode these URLs is cumbersome, error-prone, and goes against the principle of declarative, readable automation. -
The Solution: Resolvers automate this translation. You define how to find a resource (like a customer) by its name or UUID, and the generated module's runtime logic (the "runner") will handle the lookup and substitution for you.
This system is used by all plugins but is most critical for the crud and order plugins, which manage
resource relationships. Let's explore how it works using examples from our generator_config.yaml.
Simple Resolvers
A simple resolver handles a direct, one-to-one relationship. It takes a name or UUID and finds the corresponding resource's URL. This is common for top-level resources or parent-child relationships.
- Mechanism: It works by using two API operations which are inferred from a base string:
- A
listoperation to search for the resource by its name (e.g.,customers_listwith aname_exactfilter). -
A
retrieveoperation to fetch the resource directly if the user provides a UUID (this is a performance optimization). -
Configuration Example (from
waldur.structure): This example configures resolvers for thecustomerandtypeparameters in theprojectmodule.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
# In generator_config.yaml - name: project plugin: crud base_operation_id: "projects" resolvers: # Shorthand notation. This tells the generator: # 1. There is an Ansible parameter named 'customer'. # 2. To resolve it, use the 'customers_list' and 'customers_retrieve' API operations. customer: "customers" # Another example for the project's 'type'. type: "project_types" # Optional: customize the query parameter used for name-based lookups. # By default, the resolver uses 'name_exact' to filter by name, # but some API endpoints may use different parameter names like 'name' or 'title'. # Example with custom query parameter: # custom_resource: # base: "custom_resources" # name_query_param: "name" # Use 'name' instead of default 'name_exact' -
Runtime Workflow: When a user runs a playbook with
customer: "Big Corp", theprojectmodule's runner executes the following logic:sequenceDiagram participant User as Ansible User participant Module as waldur.structure.project participant Resolver as ParameterResolver participant Waldur as Waldur API User->>Module: Executes playbook with `customer: "Big Corp"` Module->>Resolver: resolve("customer", "Big Corp") Resolver->>Waldur: GET /api/customers/?name_exact="Big Corp" (via 'customers_list') Waldur-->>Resolver: Returns customer object `{"url": "...", "name": "Big Corp", ...}` Resolver-->>Module: Returns resolved URL: "https://.../customers/..." Module->>Waldur: POST /api/projects/ with body `{"customer": "https://.../customers/...", "name": "..."}` Waldur-->>Module: Returns newly created project Module-->>User: Success (changed: true)
Advanced Resolvers: Dependency Filtering
The true power of the resolver system shines when dealing with nested or context-dependent resources. This is
essential for the order plugin.
-
The Problem: Many cloud resources are not globally unique. For example, an OpenStack "flavor" named
smallmight exist in multiple tenants. To create a VM, you need the specificsmallflavor that belongs to the tenant where you are deploying. A simple name lookup is not enough. -
The Solution: The
orderplugin's resolvers support afilter_byconfiguration. This allows one resolver's lookup to be filtered by the results of another, previously resolved parameter. -
Configuration Example (from
waldur.openstack): Thisinstancemodule resolves aflavor. The list of available flavors must be filtered by the tenant, which is derived from theofferingthe user has chosen.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
# In generator_config.yaml - name: instance plugin: order offering_type: OpenStack.Instance # ... resolvers: # The 'flavor' resolver depends on the 'offering'. flavor: # Shorthand to infer 'openstack_flavors_list' and 'openstack_flavors_retrieve' base: "openstack_flavors" # This block establishes the dependency. filter_by: - # 1. Look at the result of the 'offering' parameter. source_param: "offering" # 2. From the resolved offering's API response, get the value of the 'scope_uuid' key. # (In Waldur, this is the UUID of the tenant associated with the offering). source_key: "scope_uuid" # 3. When calling 'openstack_flavors_list', add a query parameter. # The parameter key will be 'tenant_uuid', and its value will be the # 'scope_uuid' we just extracted. target_key: "tenant_uuid" # Optional: Customize the query parameter for name-based lookups. # By default 'name_exact' is used, but you can override it: # name_query_param: "name" -
Runtime Workflow: This is a multi-step process managed internally by the runner and resolver.
sequenceDiagram participant User as Ansible User participant Runner as OrderRunner participant Resolver as ParameterResolver participant Waldur as Waldur API Note over User, Runner: Playbook runs with `offering: "VMs in Tenant A"` and `flavor: "small"` Runner->>Resolver: resolve("offering", "VMs in Tenant A") Resolver->>Waldur: GET /api/marketplace-public-offerings/?name_exact=... Waldur-->>Resolver: Returns Offering object `{"url": "...", "scope_uuid": "tenant-A-uuid", ...}` Note right of Resolver: Caches the full Offering object internally. Resolver-->>Runner: Returns Offering URL Runner->>Resolver: resolve("flavor", "small") Note right of Resolver: Sees `filter_by` config for 'flavor'. Resolver->>Resolver: Looks up 'offering' in its cache. Finds the object. Resolver->>Resolver: Extracts `scope_uuid` ("tenant-A-uuid") from cached object. Note right of Resolver: Builds query: `?name_exact=small&tenant_uuid=tenant-A-uuid` Resolver->>Waldur: GET /api/openstack-flavors/?name_exact=small&tenant_uuid=tenant-A-uuid Waldur-->>Resolver: Returns the correct Flavor object for Tenant A. Resolver-->>Runner: Returns Flavor URL Note over Runner, Waldur: Runner now has all resolved URLs and creates the final marketplace order.
Resolving Lists of Items
Another common scenario is a parameter that accepts a list of resolvable items, such as the security_groups
for a VM.
-
The Problem: The user wants to provide a simple list of names:
security_groups: ['web', 'ssh']. The API, however, often requires a more complex structure, like a list of objects:security_groups: [{ "url": "https://.../sg-web-uuid/" }, { "url": "https://.../sg-ssh-uuid/" }]. -
The Solution: The resolver system handles this automatically. The generator analyzes the OpenAPI schema for the
offering_type. When it sees that thesecurity_groupsattribute is anarrayof objects with aurlproperty, it configures the runner to: - Iterate through the user's simple list (
['web', 'ssh']). - Resolve each name individually to its full object, using the
security_groupsresolver configuration (which itself uses dependency filtering, as shown above). - Extract the
urlfrom each resolved object. - Construct the final list of dictionaries in the format required by the API.
This powerful abstraction keeps the Ansible playbook clean and simple, hiding the complexity of the underlying API. The user only needs to provide the list of names, and the resolver handles the rest.
The Unified Update Architecture
The generator employs a sophisticated, unified architecture for handling resource updates within state: present
tasks. This system is designed to be both powerful and consistent, ensuring that all generated modules—regardless
of their plugin (crud or order)—behave predictably and correctly, especially when dealing with complex data
structures.
The core design principle is "Specialized Setup, Generic Execution." Specialized runners (CrudRunner,
OrderRunner) are responsible for preparing a context-specific environment, while a shared BaseRunner provides
a powerful, generic toolkit of "engine" methods that perform the actual update logic. This maximizes code reuse
and enforces consistent behavior.
Core Components
BaseRunner(The Engine): This class contains the three central methods that form the update toolkit:_handle_simple_updates(): Manages directPATCHrequests for simple, mutable fields (likenameordescription)._handle_action_updates(): Orchestrates the entire lifecycle for complex, action-based updates (like setting security group rules).-
_normalize_for_comparison(): A critical utility that provides robust, order-insensitive idempotency checks for complex data types like lists of dictionaries. -
Specialized Runners (The Orchestrators):
CrudRunner: Uses theBaseRunnertoolkit directly with minimal setup, as its context is typically straightforward.OrderRunner: Performs crucial, context-specific setup (like priming its cache with the marketplaceoffering) before delegating to the sameBaseRunnertoolkit.
Deep Dive: The Idempotency Engine (_normalize_for_comparison)
The cornerstone of the update architecture is its ability to correctly determine if a change is needed,
especially for lists of objects where order does not matter. The _normalize_for_comparison method is the
"engine" that makes this possible.
Problem: How do you compare [{'subnet': 'A'}] from a user's playbook with
[{'uuid': '...', 'subnet': 'A', 'name': '...'}] from the API? How do you compare ['A', 'B'] with ['B', 'A']?
Solution: The method transforms both the desired state and the current state into a canonical, order-insensitive, and comparable format (a set) before checking for equality.
Mode A: Complex Objects (e.g., a list of ports)
When comparing lists of dictionaries, the method uses idempotency_keys (provided by the generator plugin based
on the API schema) to understand what defines an object's identity.
- Input (Desired State):
[{'subnet': 'url_A', 'fixed_ips': ['1.1.1.1']}] - Input (Current State):
[{'uuid': 'p1', 'subnet': 'url_A', 'fixed_ips': ['1.1.1.1']}] - Idempotency Keys:
['subnet', 'fixed_ips'] - Process:
- For each dictionary, it creates a new one containing only the
idempotency_keys. - It converts this filtered dictionary into a sorted, compact JSON string (e.g.,
'{"fixed_ips":["1.1.1.1"],"subnet":"url_A"}'). This string is deterministic and hashable. - It adds these strings to a set.
- Result: Both inputs are transformed into the exact same set:
{'{"fixed_ips":["1.1.1.1"],"subnet":"url_A"}'}. The comparisonset1 == set2evaluates toTrue, and no change is triggered. Idempotency is achieved.
Mode B: Simple Values (e.g., a list of security_group URLs)
When comparing lists of simple values (strings, numbers), the solution is simpler.
- Input (Desired State):
['url_A', 'url_B'] - Input (Current State):
['url_B', 'url_A'] - Process: It converts both lists directly into sets.
- Result: Both inputs become
{'url_A', 'url_B'}. The comparisonset1 == set2isTrue, and no change is triggered.
Handling Critical Edge Cases
The unified architecture is designed to handle two critical, real-world edge cases that often break simpler update logic.
Edge Case 1: Asymmetric Data Representation
- Problem: An existing resource might represent a relationship with a "rich" list of objects (e.g.,
security_groups: [{'name': 'sg1', 'url': '...'}]), but the API action to update them requires a "simple" list of strings (e.g.,['url1', 'url2']). - Solution: The
_handle_action_updatesmethod contains specific logic to detect this asymmetry. If the resolved user payload is a simple list of strings, but the resource's current value is a complex list of objects, it intelligently transforms the resource's list by extracting theurlfrom each object before passing both simple lists to the normalizer. This ensures a correct, apples-to-apples comparison.
Edge Case 2: Varied API Payload Formats
- Problem: Some API action endpoints expect a JSON object as the request body (e.g.,
{"rules": [...]}), while others expect a raw JSON array (e.g.,[...]). - Solution: The generator plugin analyzes the OpenAPI specification for each action endpoint. It passes a
boolean flag,
wrap_in_object, in the runner's context. The_handle_action_updatesmethod reads this flag and constructs thefinal_api_payloadin the precise format the API endpoint requires, avoiding schema validation errors.
This robust, flexible, and consistent architecture ensures that all generated modules are truly idempotent and can handle the full spectrum of simple and complex update scenarios presented by the Waldur API.
Component Responsibilities
- Core System (
generator.py,plugin_manager.py): Generator: The main orchestrator. It is type-agnostic. Its job is to:- Loop through each collection definition in the config.
- For each collection, create the standard directory skeleton (
galaxy.yml, etc.). - Loop through the module definitions within that collection.
- Delegate to the correct plugin to get a
GenerationContext. - Render the final module file.
- Copy the plugin's
runner.pyand a sharedbase_runner.pyintomodule_utils, rewriting their imports to make the collection self-contained.
-
PluginManager: The discovery service. It finds and loads all available plugins registered via entry points. -
Plugin Interface (
interfaces/plugin.py): -
BasePlugin: An abstract base class defining the contract for all plugins. It requires agenerate()method that receives the module configuration, API parsers, and the current collection context (namespace/name) and returns a completeGenerationContext. -
Runtime Components (
interfaces/runner.py,interfaces/resolver.py): BaseRunner: A concrete base class that provides shared runtime utilities for all runners, such as thesend_requesthelper for making API calls.-
ParameterResolver: A reusable class that encapsulates all logic for converting user inputs (names/UUIDs) into API-ready data. It is instantiated by runners. -
Concrete Plugins and Runners (e.g.,
plugins/crud/): - Each plugin is a self-contained directory with:
config.py: Pydantic models for validating its specific YAML configuration.plugin.py: The generation-time logic. It implementsBasePluginand is responsible for creating the module's documentation, parameters, and runner context.runner.py: The runtime logic. It inherits fromBaseRunner, uses theParameterResolver, and executes the module's core state management tasks (e.g., creating a resource if it doesn't exist).
How to Add a New Plugin
This architecture makes adding support for a new module type straightforward:
-
Create Plugin Directory: Create a new directory for your plugin, e.g.,
ansible_waldur_generator/plugins/my_type/. -
Define Configuration Model: Create
plugins/my_type/config.pywith a Pydantic model inheriting fromBaseModelto define and validate the YAML structure for your new type. -
Implement the Runner: Create
plugins/my_type/runner.py. Define a class (e.g.,MyTypeRunner) that inherits fromBaseRunnerand implements the runtime logic for your module. -
Implement the Plugin Class: Create
plugins/my_type/plugin.py:
```python from ansible_waldur_generator.interfaces.plugin import BasePlugin from ansible_waldur_generator.models import GenerationContext # Import your config model and other necessary components
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
- Register the Plugin:
Add the new plugin to the entry points section in
pyproject.toml:
toml
[project.entry-points."ansible_waldur_generator"]
# ... existing plugins
crud = "ansible_waldur_generator.plugins.crud.plugin:CrudPlugin"
order = "ansible_waldur_generator.plugins.order.plugin:OrderPlugin"
facts = "ansible_waldur_generator.plugins.facts.plugin:FactsPlugin"
my_type = "ansible_waldur_generator.plugins.my_type.plugin:MyTypePlugin" # Add this line
- Update Environment:
Run
uv sync. This makes the new entry point available to thePluginManager. Your newmy_typeis now ready to be used ingenerator_config.yaml.
After these steps, running uv sync will make the new facts type instantly available to the
generator without any changes to the core generator.py or plugin_manager.py files.
Test author guide
End-to-End Testing with VCR
This project uses a powerful "record and replay" testing strategy for its end-to-end (E2E) tests, powered by
pytest and the VCR.py library. This allows us to create high-fidelity tests based on real API interactions
while ensuring our CI/CD pipeline remains fast, reliable, and completely independent of a live API server.
The E2E tests are located in the ansible_waldur_generator/tests/e2e/ directory.
Core Concept: Cassette-Based Testing
-
Recording Mode: The first time a test is run, it requires access to a live Waldur API. The test executes its workflow (e.g., creating a VM), and
VCR.pyrecords every single HTTP request and its corresponding response into a YAML file called a "cassette" (e.g.,ansible_waldur_generator/tests/e2e/cassettes/test_create_instance.yaml). -
Replaying Mode: Once a cassette file exists, all subsequent runs of the same test will be completely offline.
VCR.pyintercepts any outgoing HTTP call, finds the matching request in the cassette, and "replays" the saved response. The test runs instantly without any network activity.
This approach gives us the best of both worlds: the realism of integration testing and the speed and reliability of unit testing.
Running the E2E Tests
The E2E tests are designed to be run in two distinct modes.
Mode 1: Replaying (Standard CI/CD and Local Testing)
This is the default mode. If the cassette files exist in
ansible_waldur_generator/tests/e2e/cassettes/, the tests will run
offline. This is the fastest and most common way to run the tests.
1 2 | |
This command should complete in a few seconds.
Mode 2: Recording (When Adding or Modifying Tests)
You only need to enter recording mode when you are:
- Creating a new E2E test.
- Modifying an existing E2E test in a way that changes its API interactions (e.g., adding a new parameter to a module call).
Workflow for Recording a Test:
-
Prepare the Live Environment: Ensure you have a live Waldur instance and that all the necessary prerequisite resources for your test exist (e.g., for creating a VM, you need a project, offering, flavor, image, etc.).
-
Set Environment Variables: Provide the test runner with the credentials for the live API. Never hardcode these in the test files.
1 2
export WALDUR_API_URL="https://your-waldur-instance.com/api/" export WALDUR_ACCESS_TOKEN="<your_real_api_token>" -
Delete the Old Cassette: To ensure a clean recording, delete the corresponding YAML file for the test you are re-recording.
pytest-vcrnames cassettes based on the test file and function name.1 2
# Example for the instance creation test rm ansible_waldur_generator/tests/e2e/cassettes/test_e2e_modules.py::TestInstanceModule::test_create_instance.yaml -
Run Pytest: Execute the test. It will now connect to the live API specified by your environment variables.
1 2
# Run a specific test to record its interactions uv run pytest ansible_waldur_generator/tests/e2e/test_e2e_modules.py::TestInstanceModule::test_create_instanceAfter the test passes, a new cassette file will be generated.
-
Review and Commit:
- CRITICAL: Inspect the newly generated
.yamlcassette file. - Verify that sensitive data, like the
Authorizationtoken, has been automatically scrubbed and replaced with a placeholder (e.g.,DUMMY_TOKEN). This is configured inpyproject.tomlorpytest.ini. - Commit the new or updated cassette file to your Git repository along with your test code changes.
Writing a New E2E Test
Follow the pattern established in ansible_waldur_generator/tests/e2e/:
- Organize with Classes: Group tests for a specific module into a class (e.g.,
TestVolumeModule). - Use the
@pytest.mark.vcrDecorator: Add this decorator to your test class or individual test methods to enable VCR. - Use the
auth_paramsFixture: This fixture provides the standardapi_urlandaccess_tokenparameters, reading them from environment variables during recording and using placeholders during replay. - Use the
run_module_harness: This generic helper function handles the boilerplate of mockingAnsibleModuleand running the module'smain()function. - Write Your Test Logic:
- Arrange: Define the
user_paramsdictionary that simulates the Ansible playbook input. - Act: Call the
run_module_harness, passing it the imported module object and theuser_params. - Assert: Check the
exit_resultandfail_resultto verify that the module behaved as expected (e.g.,changedisTrue, the returnedresourcehas the correct data).
Example Skeleton:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
Ended: Docs
Ended: Ansible
Existing integrations ↵
VPNaaS custom script - Provisioning VPN as a Service based on Firezone
This python script provisions VPN as a Service based on Firezone in OpenStack in Waldur. It uses Flatcar Linux and a butane binary that the user needs to provide inside a Docker container used for running Waldur custom scripts.
An additional requirement is an OpenID Connect provider for end-user authentication in Firezone. Default VPN port: UDP/51820.
System requirements
- Keycloak with admin access for OpenID Connect client creation
- Butane for converting Flarcar Linux yaml config into json
- OpenStack nova for running the Firezone VM
- OpenStack designate for the VM FQDN generation. Firezone will use that FQDN for HTTPS certificate generation.
Firezone VM needs Internet connection for Let's Encrypt certificate generation and Github access for script download.
Setup guide
- Prepare waldur custom script runner container to have Butane and required Python packages
- Paste the create.py into the creation script and terminate.py into the termination script
- Populate environment variables
- Add user input field with internal name "tenant" and type - "Select OpenStack tenant", make it a required field
Environment Variables
The following environment variables need to be provided in the Waldur custom script:
WALDUR_API_URL- API URL of Waldur that holds OpenStackWALDUR_API_TOKEN- Waldur API tokenKEYCLOAK_URL- Keycloak address for creating OpenID connect clientsKEYCLOAK_USERNAME- Keycloak admin usernameKEYCLOAK_PASSWORD- Keycloak admin passwordKEYCLOAK_REALM- Keycloak realmCREATOR_EMAIL- Email of the user, that created the VPN instanceIMAGE- OpenStack imageFLAVOR- OpenStack flavorSYSTEM_VOLUME_SIZE- Size of the system volume for OpenStack VMRUN_BUTANE_IN_DOCKER- When set to True - run butane in docker container instead of just binary
Waldur Guacamole integration
Guacamole is a browser based remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH. Waldur — Guacamole integration is based on Waldur's custom scripts functionality.
This integration provides full virtual desktop lifecycle, including:
- Creation of a virtual desktop in remote Waldur (i.e. OpenStack KVM machine)
- Adding records of a freshly created virtual desktop to Guacamole MySQL database
- Termination of the virtual desktop and MySQL records removal upon desktop deletion
Quick Start Guide
- Make sure your Waldur is able to run custom scripts
- Modify Guacamole MySQL database to store backend ID (Backend Waldur resource ID):
1 | |
- Create a Service Offerring in Waldur with "Custom Script" type
- Configure environment variables for the service:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
- Copy
custom-scripts/create.pyandcustom-scripts/terminate.pyas the creation and termination scripts for the service
Ended: Existing integrations
Ended: Integrator guide
User guide ↵
User guide
This section contains instructions to typical operations done with Waldur. The section can be used as a basis for deployment-specific documentation.
Practical guides for the customer organization
- Accounting and reporting
- Cost and usage policies
- Credit management
- Organization management
- Project management
- Project membership management
- Resource management
Practical guides for the service provider organization
Practical guides for the call managing organization
Practical guides for the end users
Practical guides for the staff and support users (deployment administrators)
- Announcements
- Branding configuration
- Broadcast messages
- Catalogue mode
- Change user passwords
- Creation of organizations
- Credit management configuration
- Impersonation
- Projects removal by admin
- User role management
- Remote sync of offerings
- Organization management
- Reporting
- Service desk configuration
- Service desk interactions
Call managing organization ↵
Call management
This guide walks you through the entire lifecycle of call management in Waldur, from setup to final resource allocation. It is structured in a step-by-step format to help each stakeholder understand their responsibilities in the process.
Detailed process guide
Step 1: Organization setup
Performed by: Organization owner
-
Verify organization type:
- Navigate to your organization's profile settings
- Confirm your organization is registered as a Call managing organization
- If not, contact your Waldur administrator to update your organization type
-
Review available offerings:
- Check that there are marketplace offerings available to be requested in calls
- These offerings will form the resource pool available for allocation
-
Assign Call organisers:
- Go to the Team section of your organization
- Click on the Add member button
- Search for users to assign as Call organisers
- Select the Call organiser role from the dropdown menu
- Click Add to confirm the assignment
Step 2: Call creation
Performed by: Call organiser or Organization owner
- Navigate to the Call management section, in the organisation dashboard.
- Go to the Calls section, to click "Create call".
- Fill in the following details:
- Call title
- Description and documentation
- Submission guidelines
- Assign call manager to the call
Step 3: Configure call rounds
Performed by: Call manager
- Create a Round within the call.
- Configure the round settings:
- Start and end dates
- Review strategy: after round closure or after submission
- Review duration (in days)
- Minimum number of reviewers
- Minimum average score for auto-approval (optional)
- Deciding entity: call manager or automatic
- Allocation timing: immediate or fixed date
- Define the mappings between proposal roles and project roles
- Save and activate the round.
Step 4: Call configuration and activation
Performed by: Call manager
Before activating a call, the Call manager must configure all necessary settings:
Call configuration settings
1. General configuration
Configure the basic call parameters:
- Fixed duration: Set whether the call has a fixed timeframe
- Set a fixed proposal duration (in days) to apply uniformly across all proposals.
- When enabled, the duration field becomes read-only in the proposal submission form.
- Reviewer identity visible to submitters: Choose if applicants can see who is reviewing their proposals (Yes/No)
- Reviews visible to submitters: Determine if applicants can view the reviews and feedback (Yes/No)
- Predefined resource templates: Create templates defining valid offering/plan combinations, that proposal creators will be limited to selecting only from these templates.
- General information: template name and offering
- Predefined attributes and usage limits
- Description
2. Team management
Assign personnel for the call:
- Add reviewers: Select users who will evaluate submitted proposals
- Add managers: Additional managers for proposal oversight
Note: The primary Call manager is added by the Call Organiser during call creation
3. Offerings configuration
Define available resources:
- Add Offerings: Select which service provider offerings will be available for this call
- Ensure all required offerings have been approved by service providers
4. Role mapping
Configure project role assignments:
- Proposal project role mappings: Map each proposal role to corresponding project roles
- Each proposal role must be mapped to a project role to ensure proper access when projects are created
Important: The round must be created and configured first. Only after round configuration is complete can the call be fully configured and activated.
Call activation process
Once all configurations are complete:
-
Review all configurations:
- Verify general settings are correct
- Confirm team assignments are complete
- Check that offerings are properly configured
- Ensure role mappings are defined
-
Activate the call:
- Click "Activate call" to open it for proposal submissions
- Once activated, the call becomes visible to potential applicants
- Applicants can now submit proposals during active rounds
Step 5: Submit proposal
Performed by: Call member (Applicant)
Applicants follow these steps to request resources through an active call:
- Navigate to the active round under the relevant call.
- Click "Submit proposal".
- Fill in the required fields.
- When the call round has a fixed duration set by the Call manager, this duration (in days) is automatically applied to all proposals. The duration field becomes read-only for proposal creators in both creation and editing interfaces.
- Select required offerings and allocations.
- When there is predefined resource templates, proposal creators now select resources based on predefined templates configured by the Call manager. These templates include specific offering and plan combinations, predefined attributes and resource limits.
- Add team members (optional).
- Upload required documentation.
- Submit the proposal.
Step 6: Review assignment and process
Review Assignment: Call manager or Automatic system
Review assignment
Performed by: Call manager or Automatic system
After proposals are submitted, reviews must be created and assigned to reviewers. This process depends on the call configuration:
Automatic review creation
If configured for automatic assignment:
- System automatically creates reviews
- Reviews are assigned to available reviewers based on workload
- Reviewers receive immediate notifications
Manual review creation
If manual assignment is required:
Performed by: Call manager
- Navigate to the call
- Locate the submitted proposal in the proposals list
- Click Actions next to the proposal
- Select Create review
- Assign the review to specific reviewers
- Reviewers receive notifications of their assignments
Performed by: Reviewer
Reviewers evaluate proposals using a structured assessment process:
- Reviewer is notified of new assigned proposal.
- Reviewer clicks "View" to open a preview modal:
- Sees brief proposal summary
- Can choose to "Start review" or "Reject" (send back)
- On clicking "Start review", reviewer is taken to the full review form.
- Provide feedback and scores on:
- Project title
- Summary and description
- Documentation
- Resource requests
- Team composition
- Submit the review.
Step 7: Decision and allocation
Performed by: Call manager (if configured) or Automatic system
The final decision process determines which proposals receive resource allocations:
- Decision entity evaluates reviews.
- Proposal is accepted or rejected.
- If accepted:
- A new project is created under the proposing organization.
- Requested resources are provisioned.
- Team members are added to the project.
Step 8: Monitoring and reporting
Effective monitoring ensures the call process runs smoothly and provides valuable insights:
Performed by: Call manager and Call organiser
- Use dashboard to monitor:
- Open/closed calls
- Round statuses
- Proposal statuses
- Review progress
- Offering request statuses
Additional tips
- Always check round and call status before making edits.
- Assign enough reviewers early to avoid bottlenecks.
- Communicate with applicants when revisions are needed.
- Keep documentation clear and up to date.
Troubleshooting
Solutions for common issues encountered during the call management process:
| Issue | Possible Cause | Solution |
|---|---|---|
| Unable to create call | Insufficient permissions | Verify user has Call Organiser role |
| Round cannot be activated | Missing required configuration | Check that all mandatory fields are completed |
| Offering request pending | Service provider hasn't responded | Contact provider directly or through system notification |
| Reviewer cannot access proposal | Incorrect assignment | Verify reviewer assignment in call settings |
| Applicant cannot see active call | Call visibility settings | Check call publication status and visibility settings |
| Resource allocation failed | Insufficient provider capacity | Contact service provider to resolve capacity issue |
FAQ
Q: What's the difference between a Call Organiser and a Call Manager?
A: A Call Organiser is appointed by the Organization Owner to create calls and assign Call Managers. The Call Manager is responsible for the detailed configuration of calls assigned to them including setting up rounds, assigning reviewers, and managing the review process.
Q: Can a call have multiple rounds running simultaneously?
A: No, Waldur supports multiple rounds within a single call, allowing for different resource types or applicant categories to be handled separately, but they cannot be active at the same time.
Q: What happens if insufficient reviewers complete their evaluations?
A: If the minimum number of reviews is not met by the deadline, the Call manager receives a notification and can either extend the review period or reduce the minimum requirement.
Q: Can applicants edit their proposals after submission?
A: By default, proposals cannot be edited after submission. However, if a reviewer or Call manager rejects a proposal with a request for revisions, the applicant can make the requested changes and resubmit.
Q: Is it possible to transfer allocated resources between approved projects?
A: Resource transfer between projects requires administrative approval. Contact your Call manager to request a resource transfer.
Q: How are applicants notified about proposal decisions?
A: Waldur automatically sends email notifications to all team members listed in a proposal when a decision (approval or rejection) is made.
Q: Can a Call manager override reviewer scores?
A: When configured for Call manager decisions, the manager can approve or reject proposals regardless of review scores, though all reviewer feedback remains visible and documented.
Ended: Call managing organization
Customer organization ↵
Cost and usage policies
Waldur allows to set different cost and usage policies on organization, project and offering level. For example, this means that organization owners and service providers can enable different actions, when cost or usage exceedes predefines level.
Cost policies for organizations
Staff role can define cost policies for organizations. To add a new policy, open Administrations menu from the left and then Organizations -> Cost policies from the top. This view provides an overview about already defined policies. To create a new one, select "Add" from the right.

From the popup, select organization, then set estimated cost limit and finally choose the action (what happens, when the limit is reached).

Cost policies for projects
Organization owners can set different cost policies for projects under particular organization. To add a new policy, open Organizations menu from the left and then Accounting -> Cost policies from the top. This view provides an overview about already defined policies. To create a new one, select "Add" from the right.

From the popup, select project, then set estimated cost limit and finally choose the action (what happens, when the limit is reached).

Cost policies for offerings
Offering managers can set cost policies for specific organization groups. This allows to trigger some actions, when cost is reached. To add new policy, offering manager should open offering management page (Organization from the left menu, then Service provider -> Marketplace -> Offering) and then Policy -> Cost policy from the top. This view provides an overview about already defined policies. To create a new one, select "Add" from the right.

From the popup, set estimated cost limit, choose the action what happens after cost is reached (block creation of new resources or notifying the organization owners). Then, it is needed to select period (is this policy per month, quarter, annual or total) and finally select organization group for which this policy applies to.

Usage policies for offerings
Offering manager can set different usage policies for specific organization groups. This allows to trigger some actions, when usage of defined resource component is reached. To add new policy, offering manager should open offering management page (Organization from the left menu, then Service provider -> Marketplace -> Offering) and then Policy -> Usage policy from the top. This view provides an overview about already defined policies. To create a new one, select "Add" from the right.

From the popup, select accounting component and set limit for that. Several compoments can be defined in one policy. Then, it is needed to select period (is this policy per month, quarter, annual or total) and finally select organization group for which this policy applies to.

Create an organization
This guide explains how end users can create and register an organization in Waldur.
Step 1: Start organization creation
From your dashboard:
- Click Create organization.
- Start the organization onboarding wizard.
Step 2: Choose verification method
Select how you want to verify your organization:
- Automatic verification (via supported business registries)
- Manual verification
Note
Automatic verification provides instant results if your organization is found in the selected registry.
Step 3: Verify your identity
To confirm that you are authorized to represent the organization, provide the requested identity information (for example, national identification data via authentication services).
Step 4: If Manual verification chosen, the next step is to enter organization information
Fill in the organization details requested in the form.
Automatic verification
- Enter mandatory fields (for example, company registration code).
- Organization data is retrieved automatically from the business registry.
Note
If automatic verification fails, you can go back and select manual verification as a fallback.
Step 5: Provide intent information
Complete the intent form to help service providers understand:
- Your purpose for registering
- How you plan to use the services
- What kind of support or resources you need
Note
This information is always filled in manually.
Step 6: Submit and track your application
Automatic verification
- If validation succeeds, your organization is created immediately.
- You can start browsing and using services right away.
Manual verification
- Your application is submitted for review.
- You can view the application details and status from your dashboard.
- You will be notified once the review is completed.
Step 7: After approval
Once approved:
- You gain access to the organization.
- You can manage organization details and browse available services.
Credit management for organization owners
Credit management establishes credit limits for organizations that can be used for purchasing eligible services. The credit can optional be sub-allocated to projects and used in cost policies.
If credits are assigned to organizations by staff users (please see Credit management for staff), organization owners can distribute allocated credits to projects. Projects can use credits for specific resources, overused resources are invoiced according to the pricing plan. Organization owners can use credit management together with the cost and usage policies to handle overconsumption.
To see current credit management policies, open the organization dashboard and then Accounting -> Credit management from the top menu.
To create a new one, click "Add" on the right. A popup opens with configuration fields:
- Project - select the project, which can use the credits.
- Allocate credit - set the maximum amount of credits.
- Use organization credit after exceeding allocated amount - Enable, if project can use organization credits after running out of project credits. If disabled, resource usage will be invoiced according to the pricing plan.
- If all set, click "Create".
Organization membership management
Organization team contains users with different roles.
Please see this page for User Rights based on Roles in the Organization.
Adding organization members
- Open your organization in Waldur.
- Select "Team" from the menu and click on "Invitations".
-
By clicking "Add" open "Invite by email" window.
-
Insert user's email and set the role for the new user and continue.
-
Fill in your custom message on the right side of the window and send the invitation.
- User now will get invitation email with the acceptance link.
Project management
Project creation is allowed for organization owners in their organizations and staff users.
Note
User must have an account in Waldur instance to create projects.
- Select your home organization.
- Under the Project tab, click on Add.
-
Fill the necessary fields (fields marked with * are mandatory) and click Create.
- Project name - The original title of the project.
- Project description - A brief description about the project.
- OECD FoS code - OECD science field code (more info)
- Start date - once reached, marks the date when prepared user invitations are sent out and triggers the processing of previously made resource orders.
- End date – once reached, triggers the creation of termination orders for the existing resources. If the resources have already been terminated by this time, the project will be removed. The date is inclusive.
-
If you need to edit project details later, open your project and select the Edit tab.
Note
- If a resource has a termination date that comes after the project's end date, the project's end date will automatically become that resource's termination date.
- If a resource has a termination date that comes before the project's end date, we'll use the resource's original termination date.
- Important: Setting any end date (either the project's or a resource's) only creates a termination request. The resource remains active in the project until the termination process is fully completed.
Project membership management
Project team contains users with different roles.
Please see this page for User Rights based on Roles in the Project.
Adding project members
New user already has account in current Waldur instance
- Open your project in Waldur.
- Select "Team" from top menu and click on "Users".
-
By clicking "Add member" open "Add project member" window.
-
Select correct user, set the role and expiration date if necessary.
-
Finally, click on "Add".
- User now will get invitation email with the acceptance link.
New user don't have a account in current Waldur instance
- Open project in Waldur.
- Select "Team" from top menu and click on "Invitations".
- By clicking "Invite user" open "Invite by email" window.
- Insert user's email and set the role for the new user and continue.
- Fill in your custom message on the right side of the window and send the invitation.
- User now will get invitation email with the acceptance link.
Resource management
VPC management
Info
There are several Virtual Private Cloud providers available on the ´Marketplace´. You need to provision at least one VPC package from a suitable provider in order to be able to create virtual machines.
- Virtual Private Cloud (VPC) resource package can be added by clicking to ´Marketplace´ and selecting ´Private Clouds´ from the menu to go to the list of VPC.
- Currently, there are three VPC component names listed: ´Cores´, ´Ram´, and ´Storage´. For configuration of a VPC resource please fill in a suitable quantity for each component and click on the ´Add to cart´ button. Here by changing the quantities of components, you can see Prices accordingly per day, per 30 days, per 365 days, and finally the total price of the VPC.
- It is mandatory to input ´Tenant name´ to order a VPC.
- We also strongly suggest filling the ´Tenant description´ field.
- Finally click on Add to cart and Request on the next page.
Request approval
a) If your role in the Project is ´Project Manager´ or ´System Administrator´, please ask your Organization Owner to approve the order.
b) If your role is ´Organization Owner´ you are able to complete the purchase to final approval (click the ´Purchase´ button). Hereafter the system will need a couple of minutes to execute the order. Once the system changes the state to ´Done´, your VPC is ready to use.
Info
Provisioned VPC resource package will be automatically enabled for the project as a VM provider. For other projects it can be enabled by the organization owner under Provider management within organization workspace.
VM management
Info
Projects need to have at least one VPC resource package enabled before any virtual machines can be created. You can follow this guide to add a new VPC.
- VMs can be added by clicking to ’Marketplace’ and selecting ’Virtual machines’ from the menu to go to the list of Virtual Machines.
- Ordering a ’Virtual Machine’ requires a VM name and selection of a VM image.
- Please select the ’Image’ for a VM and click on the ’Select’ button, returning to the form.
- Selecting the initial VM resource profile, the flavor, by clicking on the ’Flavor: Show choices’ selector is mandatory.
- The flavor will set the initial resource profile for a VM - how much RAM, vCPU cores, and storage it will have.
Warning
VM images contain their minimum requirements information, and non-matching VM flavors are disabled automatically.
- Selecting VM flavor will also update ’System volume size’ with the option to override it manually (to a higher custom value). The size of ’Data Volume’ can be customized and incremented in 1 GB steps. ’System volume’ must be at least 10 GB, whereas ’System volume’ and ’Data volume’ must be equal to or less than VPC’s total Storage.
- By default, provisioned virtual machines expect users to log in using SSH keys. The initial SSH key for login should be selected by clicking on the ’SSH public key: Show choices’ selector.
Warning
There has to be at least one SSH public key added to the user profile for it to appear in the SSH key selector list.
Info
In order to log in to your newly created VM over SSH, you need to use a username depending on your choice of VM Image type and your SSH-RSA key-pair. By default password authentication is disabled.
- Default usernames for login are as follows:
- CentOS images: CentOS
- Ubuntu images: Ubuntu
- Debian images: Debian
- FreeBSD images: FreeBSD
- By default, no incoming connections will be allowed for a VM. Predefined Security Groups (firewall rules) must be linked to a VM in order to open up access (like ssh, HTTP, etc.). By clicking the ’Details’ button, you can see the details about the available ’Security Groups’. ’Security Groups’ can be added while ordering the VM or afterward by editing.
Info
VM create form will automatically include a ’default’ security group that enables egress (outgoing) traffic for a VM and which is required in order to reply to any of the incoming packets.
- VM needs to be connected to at least one of the VPC (internal) networks and an external network via floating IP - if external/public access to VM is required.
Info
Floating IP is technically realized as 1:1 NAT between VM internal IP and public network IP.
- We strongly suggest also adding ’VM description’. In order to provision the VM, please click on the “Add to cart” button.
Info
On the right pane, there will be a ’Checkout summary’ with the purchase overview and indicative VM cost (as part of the VPC package cost).
- VM should reach into “Active” status when successfully provisioned. The “Access” field will show the IP address to access VM over SSH (Linux) or over RDP (Windows).
Info
VM access over SSH or RDP should be permitted by ’Security Groups’ linked to VM.
HPC resource management
- HPC resources can be added by clicking to ´Marketplace´.
- Select organization and project (if not filled in yet) from the upper right corner.
- selecting ´HPC´ category or some other option which represent HPC resources.
- Select desired resource and click 'Deploy'.
- Fill in request form fields and click 'Create' on the right.
Resource components update
If it turns out that initial limits for the resource are too low or higher than expected, then it is possible to change the limits after the resource creation. This can be done by opening the resource management section. Again, like in the resource creation phase, same approval flow applies.
Usage reports
Usage of a resources
To see overall usage information of resources, please select "Reporting" from the left-side menu and then "Usage reports" on the top menu.
It is possible to filter te results by organization, project, offering and export results.
To view the usage information within a project:
Private clouds
To view the usage information within a project:
-
Open your project in Waldur.
-
Select the private cloud resource that usage report you would like to see.
-
Now private cloud resource dashboard provides the overview of limits and used quotas.

HPC
-
Open your project in Waldur.
-
Select the allocation (resource) that usage report you would like to see.
-
On this window, Select "Usage" to see the usage of a resource. Use tabs "CPU Allocation", "GPU Allocation", and "Storage Allocation" to see the details.

-
By default, the view shows last 6 months information. To see the usage from the creation of a resource, please use period selector on the right side.

-
Instead of graph view, it is possible to switch to table view as well. To do that, please use switching button on the right next to the period selector.

-
It is possible to download the graph views as PNG images. To do that, please use the arrow icon on the right side of the graph.

To check the current resource allocation limit:
Ended: Customer organization
End users ↵
Interface Introduction
Basics
Dashboard
- It is the first page you see (by default) after logging in to Waldur, which provides you with the initial necessary information of your profile, the Organizations and the Projects.
Organization / Project selection
- You can see the information about the organization only If you are at the organization level. It means if you are only at the project level, you can not go to the organization level.
Sidebar menu
- This is your main working tool in Waldur. Here you can manage your organizations, projects and resources. The next chapter of this guide will provide the details for each menu item.
Workspace menu (changes depending on sidebar menu)
- Each page in Waldur has a navigation bar at the top of the screen. It enables a quick access to organization/project info and management.
Workspace
- Shows organization, project or user dashboards related to the selection.
User related actions
- Contains all necessary action fields a user might need.
Issues
- Displays the list of user related issues. Here by Creating request you can request support.
Favorite Pages
- The opportunity to gather the most visited pages to make them easily reachable.
Pending confirmations
- Contains the list of requests related to user, resources or project management.
User Profile
- The main links related to the user actions like User Dashboard, Affiliations, Credentials, Notifications, Language and Color mode of the interface.
Get help
- By clicking Support you can find User Documentation, or reach us by using support email address and also create support request by going to "Issues" window.
Ended: End users
Service provider organization ↵
Accounting
Accounting of Service providers
Service provider revenue
If the organization is service provider, then it is possible to check the amount of revenue of a running month. To do that, open the organization dashboard, choose "Service provider" view and then dashboard opens. There you will see the total amount of estimated revenue and also 11 previous months.
By clicking on "Active clients" on the left, it's possible to see more detailed information about clients and amounts.

Invoices
Waldur provides a convenient way to see the invoices issued to the organization. Open the organization dashboard and select “Accounting” from the top menu and then “Invoices”. Now you’re able to see all invoices issued to the organization.

Invoices’ information can be downloaded in different formats as well.

Estimated cost
Estimated cost of a running month can be seen from the same view as invoices. By default, it shows top 4 projects with the highest cost. By clicking “Details”, you are able to see all projects with estimated costs.

Offerings
To create a new Offering in the Marketplace, you need to:
- Assure that categories are configured in the Marketplace.
- Create at least one service provider.
- Create and activate a public offering.
Waldur supports a number of different types of service providers when creating a shared offering. A common way of creating an offering is through a HomePort.
OpenStack offering creation
-
Select organization, which will provide the offering.
-
Go to Provider dashboard, click Marketplace -> Offerings from the top menu and then Add from the left.

-
A popup opens, fill in the name for the offering, category (e.g. Private clouds) and type (OpenStack tenant) and click Create.

-
An offering configuration page opens with an option to edit different attributes.
-
For the OpenStack integration, select Integration -> Credentials from the top menu. Fill in requested parameters.
- API URL - OpenStack deployment keystone URL
- Domain name - OpenStack domain name
- Username - Tenant user username
- Password - Tenant user password
- Tenant name - OpenStack tenant name
- External network ID - OpenStack extnet UUID
-
If everything is filled in, click on Synchronize in the top left corner. After few seconds, the State field will show OK if the integration is completed between Waldur and OpenStack.
-
To adjust the accounting, select Accounting from the top menu and then Plans -> Edit prices. Default accounting components are already defined.
-
If everything is completed and ready, click on Activate in the upper right corner to publish the offering.
SLURM offering creation
-
Select organization, which will provide the offering.
-
Go to Provider dashboard and click on Marketplace -> Offerings from the top menu and then click Add from the right.

-
A popup opens, fill in the name for the offering, category and type.

-
An offering configuration page opens with an option to edit different attributes.

-
Under Endpoints section, you can add access endpoints for the offering, for example, management consoles, SSH login nodes or similar.

This configuration will display then to resource of the offering a menu for easier navigation to the corresponding services. For SSH protocol this would trigger opening of an SSH client if configured for the browser. Out of the box works on OS X and Linux, requires configuration of the default application on Windows.

-
To add accounting components, select "Accounting components" from the top menu and then "Add component" from the right side. Accounting component is a measurable unit of a resource. For example, it can be CPU hours, GPU hours, storage hours, RAM etc.

-
A popup opens with possibility to configure fields and select the accounting type (whether the component is billed by the usage, max limit or it has a fixed price).
- Usage-based - billing is applied according to the actual usage of the resource during the billing period defined in the accounting plan after the submission of a usage report;
- Limit-based - billing is applied according to the requested/updated limits of a resource, actual usage can be below the limits and it is not the basis of the billing;
- Fixed price - billing is applied according to the exact values defined by the service provider in the accounting plan, limits and usage are not the basis for the accounting;
- One-time - billing is applied once on resource activation;
- One-time on plan switch - billing is applied once on resource activation and everytime a plan has changed, using pricing of a new plan.
-
To configure accounting frequency and prices, select "Accounting plans" from the top menu and then "Add plan" from the right. Select a name for the plan and accounting frequency.

-
To define prices for the components, select "Actions" and then "Edit prices". Set new price and save. If there is a need to provide higher priority access to resources with different prices, then it is advised to create another offering for this kind of cases.

-
If all set, click "Activate" on the top-right side to make it visible to everybody.

Tip
For more advanced cases of management of offerings, take a look at how a SLURM offering can be managed using Ansible module.
Offering management
It is possible to temporarily unpublish the offering. For example, if the service is down for a longer maintenance. To do that, open the offering edit page and click on Pause from the right.
If the offering is not needed anymore, then it is possible to archive it by selecting Archive from the offering edit page.
Configuring Getting Started Templates
When setting up an offering, you can configure a "Getting Started" guide that will be shown to users after they provision a resource. This guide supports dynamic variables that are automatically replaced with actual resource values.
Available Template Variables
{resource_name}- The name of the resource{resource_username}- The username associated with the resource{backend_id}- The backend identifier (e.g., SLURM account name){backend_metadata_key}- Any metadata fields from the backend (e.g.,{backend_metadata_state}){options_key}- Any custom options set for the resource (e.g.,{options_custom_field})
Example Template
For SLURM allocations, you might want to create a comprehensive guide like this:
1 2 3 4 5 6 7 8 9 10 11 | |
To configure this template:
- Go to your offering's page
- Select "Edit" from the top menu
- Scroll down and find the "Getting started instructions" and click the "Edit" button
- Enter your desired template information using the variables above
- Save the changes
The template will be rendered with retreived values when users access their resources.
Service offering configuration guide
Overview
This guide provides a structured approach for integrators to define an Offering. Offerings represent services, resources, or products made available through the platform.
General information
The General Information section defines the core attributes of an offering, including its identity, accessibility, and governance policies.
Required fields
- Name – The title of the offering, displayed across the platform
- Description – A concise summary outlining the offering's purpose
- Full description – A detailed explanation, including technical aspects and potential use cases
- Terms of service – Any contractual obligations or usage restrictions
- Privacy policy link – URL linking to the privacy policy
- Terms of service link – URL linking to the terms of service
- Access URL – The main entry point for users to access the offering
- Slug – A unique identifier used in URLs (readonly)
- Location – The geographical or virtual location of the offering
- Access policies – Defines access control rules and user eligibility
- Logo – A graphical representation of the offering
- Getting started instructions – Guidelines on how users can begin using the offering
Public information
The Public Information section ensures visibility and accessibility for end users. It includes Endpoints, Categories, and Images.
Endpoints
Endpoints provide connectivity to the offering's services. Each endpoint requires:
- Name – A human-readable identifier for the endpoint
- URL – The direct link to access the service
Images
Images provide visual representation and marketing appeal. Each image requires:
- Name – A descriptive title
- Description – A brief explanation of the image content
- Attached image file – The image file itself
Service provider registration
In Waldur, only organizations registered as service providers can create offerings and provide the service to users.
To register organization as service provider:
-
Open organization dashboard, click on "Edit" and select "Service provider" from the top menu.

-
Add service provider organization description. This description is visible in the Waldur marketplace under service provider list and under provider details.

-
Make sure that service provider organization category group is also set.
Ended: Service provider organization
Staff users ↵
Announcements
The Waldur User Interface provides an easy way to inform users about important updates and changes through announcements.
Currently, there are three types of announcements:
- Information – Provides general updates, new features, or helpful tips.
- Warning – Alerts users about potential issues or changes that may affect their experience.
- Danger – Signals critical issues, errors, or risks that require immediate action.
Announcement management
- Navigate to Administration → Settings → Announcements.
Adding an announcement
- Select Add from the announcement management page.
- Choose the type of announcement, as well as the start and end times.
- Enter the message for the users.
- Click Create.
Editing an announcement
If you need to edit existing announcement, then:
- Navigate to announcement management page.
- Find the announcement you would like to change.
- Under the Actions column on the left side of the announcement, click the Edit button (visible by clicking on the three dots).
Once an announcement is active, it will be displayed to users on every page, just below the Search box.
Branding configuration
The portal allows you to customize its appearance to match your organization's brand identity. This guide will help you configure the branding settings.
Accessing Branding Settings
- Navigate to the Administration section in the left-side menu
- Click on Settings
- Select the Branding tab
Available Customisation Options
Branding
- Site Name: Sets the name of the organization.
- Page title: It is used as page title.
- Site description: Description of the Waldur deployment.
On the same page, you will find more sections to customise
- Marketplace branding
- Notifications
- Links
- Theme
- Images
Note
All changes in branding settings will be applied system-wide. Please preview changes before saving to ensure they meet your organization's visual guidelines.
Recommended sizes and formats for all branding images
These images are used across the platform. Images larger than the suggested sizes are supported, but will be scaled automatically to fit.
Site logo
- Displayed in the Marketplace order header.
- Format: PNG or SVG
- Recommended size: ~160–180 px wide and ~20-32 px high
- Avoid vertical/tall logos for better visibility.
Sidebar logo
- Displayed at the top of the sidebar menu.
- Format: PNG or SVG
- Recommended size: ~160–180 px wide and ~20-32 px high
- Horizontal logos provide the best readability.
- Vertical logos are supported but will appear smaller.
Sidebar logo (mobile)
- Displayed in the mobile sidebar.
- Recommended size: Same as desktop (~32 px height)
- Horizontal layout preferred.
Sidebar logo (dark mode)
- Displayed in dark theme sidebar.
- Recommended size: ~32 px high
- Use a light / high-contrast version for dark backgrounds.
Powered by logo
- Displayed at the bottom of the login view.
- Recommended size: ~150–180 px wide
- Horizontal logos work best in this compact area.
Hero image
- Displayed in the HomePort landing page hero section.
- Minimum size: 1600×400 px
- Requirements: No text or logos in the image and keep the center area clean for headings.
Marketplace hero image
- Displayed in the Marketplace hero section.
- Minimum size: 1600×400 px
- Clean, wide image with no text
- Choose darker images for dark mode, brighter images for light mode.
Call management hero image
- Displayed in Call Management landing page hero section.
- Minimum size: 1600×400 px
- Wide image with no text
- Keep the central area free of visual noise.
Login logo
- Displayed on the login screen.
- Recommended size: ~180×40 px (horizontal PNG)
- Scales well across desktop and mobile.
Favicon
- Displayed in browser tab.
- Recommended size: 32×32 px or 64×64 px
- Format: PNG
Offering logo placeholder
- Default image used in offering cards.
- Recommended size: ~200×200 px (square image; cropped to circle).
Keycloak icon
- Displayed on the "Login with Keycloak" button.
- Recommended size: ~40×40 px
- Use a simple icon with a clear silhouette.
- Format: SVG, PNG
Broadcast
The broadcast functionality allows you to send messages to specific groups of users within Waldur. You can target messages to the following:
- Offering users
- Organization members
- All users connected to your Waldur deployment
Management of broadcast messages
To manage broadcast messages, follow these steps:
- Select Support from the left-side menu.
- Click Broadcast in the top menu.
The Broadcast Management page shows both sent messages and drafts. From here, you can view message history and create new broadcasts.
Broadcast templates
You can create broadcast message templates, which is useful for sending certain types of messages frequently (e.g., maintenance announcements).
To create a new template:
- Navigate to Support → Broadcast templates.
- Click Add.
A popup will appear with the following fields:
- Name: Name of the template
- Subject: Subject line for the broadcast message
- Message: Content of the message
Creating new broadcast message
To create a new broadcast message:
- Navigate to Support → Broadcast.
- Click Add.
A popup will appear with the following fields:
- Template: Select a predefined template (optional)
- Subject: Subject line for the broadcast message
- Message: Content of the message
- Send at: Schedule a send time for the message, or leave blank to send immediately
You can then either save the message as a draft for later editing or save it as a template for future use.
If everything looks good and you would like to send it out, click Select recipients.
Selecting Recipients
In this step, you can define the target users for the broadcast message:
- Specific offering(s) users
- Specific organization(s) members
- All users connected to your Waldur deployment
Once you're ready, click Send broadcast.
Catalogue mode
This guide explains how to enable and use the Catalogue mode in Waldur. This feature changes the marketplace to a catalog-only view, where services are displayed as a list of offerings but cannot be ordered directly through the platform.
Enabling Catalogue mode
Step 1: Access Administration settings
Navigate to the Administration section in Waldur.
Step 2: Configure features
- Select Settings from the menu
- Locate the Features selection
- Find the "Marketplace offerings and resources" section
- Look for "Allow marketplace to function as a catalogue only"
- Toggle the switch to enable the feature
Understanding Catalogue mode
When enabled, Catalogue mode introduces the following changes:
Key features
- Display-Only Functionality: The marketplace transforms into a directory-style listing of services
- No Direct Ordering: Offerings cannot be ordered directly through the portal
- Service Showcase: Organizations can present their services and offerings in a "yellow pages" format
Use cases
- Organizations wanting to showcase their services without enabling direct ordering
- Creating a comprehensive service directory
- Establishing a reference point for available offerings across different organizations
What changes?
- Order buttons are removed from offering details
- Focus shifts to informational display of services
- Maintains full visibility of offering details and specifications
- Preserves organization and category browsing capabilities
Note
The Catalogue mode can be disabled at any time by following the same steps and toggling the feature off.
Changing user passwords
This guide explains how administrators can change user passwords in Waldur.
Important note
⚠️ This guide only applies to local Waldur accounts:
- For users authenticated via LDAP: Manage passwords in your LDAP directory
- For users authenticated via OIDC: Manage passwords in your OpenID provider
- For users authenticated via SAML: Manage passwords in your SAML identity provider
Prerequisites
- Staff account access
Steps to change user password
- Access the admin panel
- Navigate to
<your-waldur-instance>/admin/ -
Log in with your staff account credentials
-
Locate user settings
- Go to "Users" section
-
Select "Users" from the list
-
Find specific user
- Use the search function to find the user
-
Click on the username to access their details
-
Change password
- Locate the password field
- Enter and confirm the new password
- Save changes
Important notes
⚠️ Security warnings:
- Only use this feature when absolutely necessary
- Ensure password changes comply with your organization's security policies
- Notify users when their passwords have been changed
- Document password changes according to your security protocols
Credit management configuration for staff
Credit management establishes credit limits for organizations that can be used for purchasing eligible services. The credit can optional be sub-allocated to projects and used in cost policies.
Users with staff role can allocate credit points to organizations. This can be done by selecting Administration from the left side menu and then Organizations -> Credit management from the top menu.
This page provides an overview of already assigned credit policies. To create a new one, click on "Add" from the right. A popup opens with different configuration fields.
- Select an organization to which you would like to assign credits.
- Select an offering for which credits can be used.
- Set the credit value. This is the total value that the organization will be able to spent.
-
Minimal consumption logic defines, how minimal monthly consumption is calculated:
- Fixed means that it is possible to define minimal monthly value and overall credit will be reduced by the monthly value, even if the usage has been less than minimal consumption.
- Linear means that by setting the end date, the total value of the credit will be divided evenly across the period until the end date and the overall value will be reduced monthly by the calculated value even if the consumption is less than the calculated value.
-
If all set, click "Create".
Impersonation functionality
Waldur provides Impersonation functionality to allow the support team to debug and resolve user-related issues more efficiently. This feature enables support users to view the user interface (UI) as though they were the user they are impersonating.
Prerequisites
- The impersonator must have a staff role in the Waldur deployment.
- The user being impersonated must have an active session (users cannot be logged out).
Process guide
- Log in to the Waldur deployment using a staff account.
-
Navigate to the Administration menu, then go to Accounts → Users from the top menu.
-
Locate the user you wish to impersonate and select Impersonate from the Actions options.
Logging
All actions performed on behalf of a user are logged with additional context in the audit logs, including the impersonator's UUID, full name, and username. This is primarily for security purposes.
Organization management
Overview
In Waldur, an organization represents a configurable grouping unit that can be adapted to various contexts such as research groups, institutions, departments, or working groups. Each organization has an designated owner who manages the organization's projects, users, and associated resources.
Create a new organization
Note
Organization creation is only allowed for users in Staff role!
- Login to Waldur and select "Organizations" from the left-side menu and then select "Add" from the right.
-
Fill the form and click "Create organization":
- Name - Name of the organization
- Contact email - email of the person, who is responsible for the organization
-
Organization edit page opens, where it is possible to add additional information, like policies, contact information. It is beneficial to assign a predefined category group (like private company, university, government, individial person etc) to organization.
Note
After the creation of the organization by the staff user, organization owners can manage organization details. To do this, navigate to the organization dashboard and select Edit.
Organization configuration
The organization edit interface consists of six main tabs, each containing specific configuration options:
Basic details
- Name - Full organization name
- Abbreviation - Short form of organization name
- Address - Physical location
- Postal code - Postal/ZIP code
- Country - Country of registration
- Organization groups - Associated group categories
- Location - Geographic location
Identifiers
- UUID - System-generated unique identifier (non-editable)
- Slug - URL-friendly identifier (non-editable)
- Registration code - Official registration number
- Agreement number - Contract reference number
- Sponsor number - Sponsorship identifier
Contact information
- Email - Primary contact email
- Phone number - Contact telephone
- Contact details - Additional contact information
- Homepage - Organization's website
Access control
To configure network access restrictions add access subnets by specifying:
- CIDR - Network address range
- Description - Purpose or identifier for the subnet
Billing
Contains billing-related configurations:
- Billing details
- Tax information
Call manager
You can enable Call manager by enabling the radio button:
- Enable call manager
Service provider
You can register organization as a service provider by pressing the button:
- Register as service provider
Remove
Provides organization removal functionality:
- Click "Remove organization" button to delete the organization
Note
Organization removal should be handled with caution as it may affect associated projects and users. Ensure all necessary data is backed up before proceeding with organization removal.
Organization onboarding
This guide explains how administrators and staff users configure and manage organization onboarding in Waldur.
Step 1: Configure onboarding settings
Before setting up onboarding checklists, configure the global onboarding settings.
Navigation path: Administration → Organizations & compliance → Onboarding settings
Required configuration
-
Onboarding validation methods
- Select the automatic validation methods enabled for your portal (for example:
ariregister,wirtschaftscompass,bolagsverket). - These values must match the backend validation method names.
- Select the automatic validation methods enabled for your portal (for example:
-
Onboarding verification expiry hours
- Define how long (in hours) an onboarding verification remains valid.
-
Registry API configuration
- Configure base URLs, credentials, tokens, and timeouts for each supported business registry.
After providing all required values, click Save.
Step 2: Configure organization onboarding checklists
Organization onboarding uses checklists to collect data from users. Two checklists are required:
- Onboarding customer data
- Onboarding intent data
Navigation path: Administration → Organizations & compliance → Checklist management
- Create a new checklist or open the existing one.
- Set the Checklist type:
- Onboarding customer data – for organization details.
- Onboarding intent data – for intent and purpose questions.
- Optionally, assign a description.
Step 3: Configure onboarding questions
For each checklist, add or edit the questions presented to users.
Question configuration
For every question:
- Enter the question text.
- Select the question type (text, number, single select, multi‑select, etc.).
- Set the question order.
- Mark the question as required, if needed.
- Configure visibility rules, if applicable.
Field mapping (mandatory)
Each question must be mapped to the correct backend field.
Example
- Question: What is your purpose for registering an organization?
- Checklist type: Onboarding intent data
- Field mapping:
purpose
Correct field mapping ensures submitted data is stored and displayed correctly during review.
Step 4: Review onboarding attempts
Organization onboarding attempts are reviewed by staff users.
Navigation path: Support → Customer support → Onboarding
Verifications tab
The Verifications tab shows:
- All onboarding attempts
- Automatically verified organizations
- Validation status and method
This view provides a high-level overview of all organization onboarding activity.
Justifications tab
The Justifications tab shows manual onboarding attempts. Staff users can:
- Review submitted organization data
- Review answers to onboarding questions
- Download supporting documents
- Add staff notes
- Approve or reject applications
Approving a justification allows the organization to be created in the system.
Step 5: Outcome
- Approved applications result in organization creation.
- Rejected applications remain visible with decision history for the next 30 days.
All actions are auditable via onboarding records.
Multiple projects removal via admin panel
An admin can remove projects with all related resources with the following sequence of actions:
- Go to admin panel (e.g.
http://localhost:8080/admin/) - Open list of projects:
Structure tab->Projects - Filter the projects by organization field (optional)
- Select projects for removal
- Set action field to
Delete projects with all resources
Remote sync of offerings
Remote sync functionality allows you to import offering information from another Waldur instance and periodically update it.
Prerequisites
- The remote Waldur instance must have at least one organization with at least one offering.
- An integration user must be created under the organization in the remote Waldur instance. Its token is needed in the creation step.
- Category mapping analysis must be completed. This involves mapping the remote offering categories to the local ones.
Remote offering sync management
To manage existing offering syncs, follow this process:
- Log in to the local Waldur instance, open the Administration menu, and select Marketplace -> Remote Offering Sync from the top menu.
-
The Remote Offering Sync Management page opens.
-
From this page, you can create a new sync, edit an existing one, or delete a sync.
- Enable/Disable: Temporarily enable or disable the sync for a particular remote instance.
- Synchronize: Perform a one-time manual sync.
- Show Results of Last Run: View what was imported during the last sync.
- Edit: Modify the configuration of a particular sync.
- Delete: Remove a remote instance sync.
Creating new remote offering sync
- Go to the Remote Offering Sync Management page and click Add.
- A popup will open with the necessary fields to be filled in.
-
Fill in the required fields:
- Remote API URL: The API URL of the remote Waldur instance. This is typically the User Interface URL with /api at the end.
- Authentication token: The integration user’s authentication token from the remote Waldur instance.
- Remote organization: Select the remote organization that will request orders in remote Waldur, and whose visibility scope determines which offerings are imported from remote Waldur.
- Local service provider: Select the local service provider organization under which the imported offerings will be published.
- Category mapping rules: Map the remote offering categories to the local ones.
- Enable synchronization: Enable the sync now, or leave it disabled and enable it later.
- Click Create.
-
If remote sync is enable, then local Waldur periodically (once per day) pulls inormation about offerings from the remote instance.
Reporting
HomePort reports
Waldur HomePort includes a number of built-in reports based on the user activity. Reports can be accessed by staff and support users from the "Reporting" sidebar menu.
Grafana and Prometheus Metrics
Waldur supports exporters to Prometheus of different statistical metrics that can be used for building business dashboards, for example, in Grafana.
Check out details about the setup of the exporter.
Custom reports
It is possible to implement custom metric collection and report generation using Waldur SDK. Several examples are provided in the section for integrators.
Team management for staff
Adding organization members
New user already has account in current Waldur instance
User role management
Overview
Staff users can manage user roles through the platform's role management interface. This includes configuring existing roles, creating new ones, and adjusting role permissions to ensure appropriate access levels across different organizational contexts.
Accessing role management
- Navigate to Administration in the main menu
- Select Settings
- Click on User roles
Managing existing roles
Viewing roles
The roles interface displays all existing roles with their associated types and descriptions.
Role actions
For each role, administrators can:
-
Edit role
- Modify role name
- Change role type
- Adjust permissions
-
Edit description
- Update role description
- Add clarifying information
-
Disable role
- Temporarily deactivate role
- Prevent new assignments
Creating new roles
- Click Add new role
- Complete the required fields:
- Name - Descriptive title for the role
- Type - Select role context
- Permissions - Configure permissions
Available role types
- Organization
- Project
- Offering
- Call
- Proposal
- Service provider organization
- Call managing organization
Permission configuration
Permissions in Waldur are extensively categorized to provide granular access control across different functional areas. Each permission category contains multiple specific actions that can be enabled or disabled.
Offering permissions
- Controls the complete lifecycle of offerings
- Includes creation, modification, and deletion capabilities
- Manages offering components like endpoints, screenshots, and plans
- Controls offering states (pause/unpause/archive)
- Manages offering-specific user groups and campaigns
- Configures offering attributes, location, and description
Order permissions
- Manages the order workflow process
- Controls order visibility and listing
- Handles order approval processes (both public and private)
- Manages order cancellation and rejection
- Controls order destruction capabilities
Provider actions
- Manages service provider operations
- Controls resource management and reporting
- Handles API and robot account management
- Provides access to service provider statistics and revenue
- Manages provider-customer relationships
- Controls backend integration settings
Customer actions for resources
- Controls resource visibility and management
- Handles resource lifecycle operations
- Manages booking requests and plan switching
- Controls resource limitations and options
- Manages importable resources
Team member permissions
- Controls invitation management
- Manages permission assignments across projects, customers, and offerings
- Handles creation, updating, and deletion of various permission types
- Controls access level modifications
Project permissions
- Manages project lifecycle
- Controls project creation and modification
- Handles project listing and deletion
- Sets project-level access controls
Call management
- Controls call and round management
- Handles proposal workflows
- Manages permission assignments for calls
- Controls proposal approval processes
- Manages round closures
Service desk ↵
Service desk configuration
Waldur offers a convenient way to integrate with popular service desk solutions like Atlassian, Zammad, and Smax. With this integration, you can manage service desk tickets directly within Waldur.
To set up the configuration, navigate to the Service Desk configuration page by going to Administration -> Service Desk.
- Waldur support enabled - Toggle Yes if you want to use support plugin.
- Waldur support active backend type - Select the active configuration.
- Waldur support display request type - Toggle to show the request type.
Atlassian configuration
To configure Atlassian for Waldur, open the Service Desk configuration page and select Configure from the Atlassian box.
A popup will appear. Fill in the required fields and click Update.
- Atlassian API server URL – The base URL for connecting to the Atlassian API.
- Username for access user – The username of the account used for API authentication.
- Password for access user – The password for the access user (if required).
- Email for access user – The email address associated with the access user.
- Token for access user – An authentication token used instead of a password for secure access.
- Service desk ID or key – The identifier for the service desk in Jira Service Management.
- Issue type used for request-based item processing – Defines which issue type (e.g., "Service Request") is used for handling requests.
- Comma-separated list of file extensions not allowed for attachment – Specifies file types that cannot be uploaded.
- Atlassian issue types – Lists the types of issues available (e.g., Informational, Service Request, Change Request, Incident).
- Affected resource field name – The field name that captures the impacted resource.
- Template for issue description – A predefined format for issue descriptions.
- Template for issue summary – A predefined format for issue summaries.
- Impact field name – The field used to store impact-related information (e.g., "Impact").
- Organisation field name – Maps the field for the organization associated with the issue (e.g., "Reporter organization").
- Resolution SLA field name – Defines the field tracking SLA (Service Level Agreement) resolution time.
- Project field name – Stores the project identifier for an issue.
- Reporter field name – Identifies the original reporter of an issue (e.g., "Original Reporter").
- Caller field name – Refers to request participants (e.g., users involved in the request process).
- SLA field name – Specifies the field used for tracking SLA metrics (e.g., "Time to first response").
- Type of linked issue field name – Defines the field used to categorize linked issues (e.g., "Relates").
- Customer satisfaction field name – Captures customer satisfaction ratings (e.g., "Customer satisfaction").
- Request feedback field name – Stores feedback related to the request (e.g., "Request feedback").
- Template field name – Allows specifying a template for issue creation.
- Atlassian custom issue field mapping enabled – Allows enabling/disabling custom field mapping.
- Atlassian shared username – Enables a shared username across different configurations.
- Atlassian verify SSL – Controls whether SSL certificates should be verified for security.
- Atlassian use old API – Enables compatibility with older API versions.
- Atlassian use automatic request mapping – When enabled, this setting allows automatic mapping of incoming requests to the appropriate Atlassian issues or service desk requests.
- Atlassian map Waldur users to service desk agents – This suggests an integration between Waldur and Atlassian's service desk. Enabling this would map Waldur users to service desk agent roles.
- Atlassian pull priorities – If enabled, it allows the system to synchronize or pull priority levels from Atlassian issues to maintain consistent prioritization.
Zammad configuration
To configure Zammad for Waldur, open the Service Desk configuration page and select Configure from the Zammad box.
A popup will appear. Fill in the required fields and click Update.
- Zammad API server URL - Zammad instance API URL.
- Authorization token - Zammad instance API token.
- Zammad group - Zammad instance group under which the tickets are created.
- Zammad article type - Zammad instance article type. Usually "email".
- Zammad comment maker - Additional comment line in Zammad, if the ticket is created in Waldur.
- Comment prefix with user info - Additional comment line in Zammad with user name, who created the ticket.
- Zammad comment cooldown duration - Time (in seconds) to remove the comment until it is saved in the system.
Smax configuration
To configure Smax for Waldur, open the Service Desk configuration page and select Configure from the Smax box.
A popup will appear. Fill in the required fields and click Update.
- SMAX API server URL - Enter the URL of the SMAX API server to enable communication between Waldur and SMAX.
- User tenant ID - Provide the unique tenant ID associated with your SMAX user account.
- Authorization login - Enter the login credentials used to authenticate with the SMAX service.
- Authorization password - Enter the password associated with the authorization login.
- Organisation field name - Specify the field name that identifies the organization in SMAX.
- Project field name - Specify the field name used to identify the project in SMAX.
- Resource field name - Provide the field name used for identifying resources in SMAX.
- Requests offering code for all issues - Provide the offering code that corresponds to the issues in SMAX.
- Duration in seconds of delay between pull user attempts - Set the duration (in seconds) between attempts to pull user data from the backend.
- The maximum number of attempts to pull user from backend - Set the maximum number of attempts to pull user data from the backend before the process is stopped.
- Creation source name - Specify the source name used when creating tickets or records in SMAX.
- Smax verify ssl - Toggle this setting to enable or disable SSL verification when communicating with the SMAX server.
Service desk interactions
This guide will help you navigate and effectively use the support system to manage service requests, track tickets, and communicate with users.
Accessing the service desk support tickets
To view service desk support tickets:
- Select Support from the left-hand menu.
- Click Requests from the top menu.
A page will open displaying all created tickets. You can view:
- The status of each ticket.
- The user name and organization that created the ticket.
To open a specific ticket, click on its key-name. This will open a dedicated ticket page.
On this page, you can:
- Read the content of the ticket.
- Check attachments.
- Add comments/replies to communicate with users.

















































































































































